2010-12-12 6 views
2

Objective c mutithreadedメソッドに問題があります。iphone multithread api

[self performSelectorOnMainThread:@selector(displayThread2Counts:) 
     withObject:myNumber 
     waitUntilDone:NO]; 

"waitUntilDone"パラメータの意味は?

waitUntilDone:YESwaitUntilDone:NOの違いは何ですか?

答えて

3

documentationはかなり透明である:

指定セレクタがメインスレッドに 受信機で実行された後まで 現在のスレッドブロックかどうかを示すBoolean。このスレッドをブロックするには、 YESを指定します。そうでない場合は、 をNOに指定すると、すぐに が返されます。

つまり、waitUntilDoneパラメータにYESを指定すると、要求されたセレクタが処理を終了するまで、現在のスレッドで他の処理は行われません。

しかし、結果として単一のスレッド(メインスレッド)のみを使用している場合、効果的に実行しているのは、非スレッド化の場合と同じように要求されたセレクタを呼び出すことです環境。

+0

ええ、あなたは私がデモを書いて、あなたが言ったことが証明されました。ドキュメントはかなり透明です。英語は私の母国語ではないので、私はそれを理解するのが少し難しいです。ドキュメントよりも透過的です!再度ありがとう – BPS1945