runLoop小结

1、runloop和线程有什么关系?

runloop:正如其名,loop表示某种循环,和run放在一起就是表示一直运行的某种循环,runloop和线程是紧密相连的,也是一一对应的,runloop就是为了线程而生,没有线程就没有runloop,没有runloop线程就不能一直活着。

2、如何让线程一直活着?
1)、除了在该线程中开启runloop也就调用[[NSRunLoop currentRunLoop] run];
还要在此方法调用之前添加线程需要处理的input source或者timer,如果没有input source或者timer。runloop会立即退出,没有存在的必要
2)、也就是[[NSRunLoop currentRunLoop] run];之前调用 [runloop addPort:[NSMachPort port] forMode:NSDefaultRunLoopMode];添加一个port作为inputsource,此后这个线程就能活着为我所用。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容