2010-12-12 56 views
2

我有Objective-C mutithreaded方法的問題。iphone多線程API

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

參數「waitUntilDone」是什麼意思?

waitUntilDone:YESwaitUntilDone:NO有什麼區別?

回答

3

documentation是相當透明的:

一個布爾指定是否 當前線程阻塞直到 指定選擇後的主線程上 接收器中執行。指定 YES以阻止此線程;否則, 指定「否」,立即返回 。

換句話說,如果您爲waitUntilDone參數指定YES,那麼在請求的選擇器完成其工作之前,不會在當前線程上發生其他操作。但是,作爲一個推論,如果你只使用單線程(主線程),那麼在指定YES時沒有任何價值,因爲你所做的全部工作就是調用所請求的選擇器,就像在非線程中一樣環境。

+0

是的,坦克你middaparka!剛纔我寫了一個演示,它證明你說的是正確的。文檔是相當透明的,英文不是我的母語,所以我有一點難以理解它,你的答案是比文件更透明!再次感謝 – BPS1945 2010-12-12 13:35:22