在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