在iOS 4.2中是否有與thread :: yield()等價的函數?在For循環內觸發另一個線程iphone
for()
{
thread::yield();//go track other events
}
我試圖用NSRunLoop
,但我初學者,我不完全意識到這一點。
在此先感謝。
在iOS 4.2中是否有與thread :: yield()等價的函數?在For循環內觸發另一個線程iphone
for()
{
thread::yield();//go track other events
}
我試圖用NSRunLoop
,但我初學者,我不完全意識到這一點。
在此先感謝。
不是直接的,但你可以使用NSThread
方法sleepForTimeInterval:
以非常小的間隔來有效地做同樣的事情。
通常,只需在線程中完成所需的工作即可。讓OS安排事情。
不明確使用線程也更容易,而是以某種形式使用Grand Central Dispatch - NSOperationQueue是一種很好的方式。
是的,但如果其他線程在此時間內完成任務當前線程仍然會等待那段時間失去作用。我會推薦使用NSOperationQueue。你的回答對於問題+1 – 0x8badf00d 2011-12-29 15:42:23
謝謝你的回答是正確的,但是這段代碼將凍結屏幕直到完成它的工作,我需要的是讓設備在渲染和用戶輸入等其他事件的時候正常工作。 – 2011-12-29 15:45:24
@AlaaEldin確保您正在主線程上執行所有UI操作。 – 0x8badf00d 2011-12-29 15:50:51