runloop关系篇

NSRunloop关系篇

1.NSRunloop 与 NSTimer

.https://blog.csdn.net/u014795020/article/details/72084735

.http://www.360doc.com/content/16/1013/16/11764545_598159238.shtml

1.NSRunloop与NSTimer

主线程还是子线程会把timer自动添加到当前runloop.


995387AB-4DB0-44F8-BEE8-E42A4100B7F4.png
995387AB-4DB0-44F8-BEE8-E42A4100B7F4.png

timer停止,model中没有事件,runloop 会停止,线程也就停止了。

https://www.jianshu.com/p/b5c27669e2c1

http://www.360doc.com/content/16/1013/16/11764545_598159238.shtml

RunLoop与NSURLConnection

https://blog.csdn.net/weixin_34179968/article/details/88004386

AFNetworking3.0后为什么不再需要常驻线程?

https://blog.csdn.net/enuola/article/details/8077918

http://www.pianshen.com/article/7813250945/

AFN 的做法是把网络请求的发起和解析都放在同一个子线程中进行,但由于子线程默认不开启 runloop,它会向一个 C语言程序那样在运行完所有代码后退出线程。而网络请求是异步的,这会导致获取到请求数据时,线程已经退出,代理方法没有机会执行。因此,AFN 的做法是使用一个 runloop 来保证线程不死~

4AB08F16-DCFB-416E-B70D-0ABC5B262960.png

1.网络也是runloop mode的一个事件,Source0,当RunloopMode里面执行完,runloop 停止,线程停止。

3.NSConnection:

https://blog.csdn.net/u012186949/article/details/38047109

4.NSUrlSession:

https://blog.csdn.net/u012361288/article/details/54607551

2.performSelector里的aSelector方法被延迟调用问题。

  • (void)performSelector:(SEL)aSelector withObject:(id)arg; afterDelay:(NSTimeInterval)delay;

这个方法其实是增加了一个定时器,而这时aSelector应该是被添加到了队列的最后面,所以要等当前调用此方法的函数执行完毕后,selector方法才会执行。

屏幕快照 2019-03-18 下午1.10.43.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容