如何创建一个仅由performSelector ...方法调用踢的循环?

use*_*531 5 iphone cocoa multithreading cocoa-touch runloop

我正在搞乱线程.现在考虑一下:我有一个主线程.我开始一个新的主题.在它的入口点方法中,我想做一个运行循环.现在文档告诉meh我必须有一个输入源.否则我的运行循环立即退出.坏.好的.但我没有其他输入源而不是我的performSelector ...方法调用.在线程启动之后,会出现一个performSelector方法,该方法会在延迟一段时间后在该线程上启动另一个方法.在该方法内部发生另一个performSelector调用,依此类推.每个延迟在0.1到1秒之间.所以反复点火计时器是无意义的;-)

我怎么能设置那个运行循环所以它保持活着以接收来自performSelector的踢法?我希望线程在无事可做的时候睡觉.但是当一个performSelector踢到他的屁股时,我希望线程醒来并起作用.

任何建议,任何人?

Oli*_*lie -1

你没有描述你真正想做的事情,所以很难说,但听起来你把事情变得有点过于复杂了。

我相信你只想有一个线程(以你喜欢的任何方式启动),并且该线程应该使用 NSCondition/NSLock 来休眠,直到你希望它醒来。

请参阅此 SO 线程以获取类似的问题和解释如何执行此操作的好答案: