2011-01-14 14 views

答えて

11

新しいスレッドが後のiOSおよびMac OS X v10.5以降ではスレッド

をスポーンするNSObjectのを使用しThreading Programming Guide

から-performSelectorInBackground:withObject:

に各呼び出しで作成され、すべてのオブジェクトは新しいスレッドを生成し、そのメソッドを使用してメソッドの1つを実行します。 performSelectorInBackground:withObject:メソッドは、新しいデタッチされたスレッドを作成し、指定されたメソッドを新しいスレッドのエントリポイントとして使用します。たとえば、変数myObjで表されるオブジェクトがあり、そのオブジェクトにdoSomethingというメソッドがあり、これをバックグラウンドスレッドで実行する場合は、次のコードを使用します。

[myObj performSelectorInBackground:@selector(doSomething) withObject:nil];

このメソッドを呼び出す効果は、現在のオブジェクト、セレクタ、およびパラメータオブジェクトをパラメータとしてNSThreadのdetachNewThreadSelector:toTarget:withObject:メソッドを呼び出した場合と同じです。新しいスレッドは、デフォルト構成を使用してすぐに生成され、実行を開始します。セレクタの内部では、スレッドと同じようにスレッドを構成する必要があります。たとえば、自動解放プール(ガベージコレクションを使用していない場合)を設定し、スレッドの実行ループを使用するように設定する必要があります。新しいスレッドのコンフィグレーション方法については、「スレッド属性のコンフィグレーション」を参照してください。

+0

通常、公式ドキュメントが非常に役に立ちます。ありがとうジョナ。 –

関連する問題