差不多2年前,我对NSRunLoop有过应用层面上的理解,现在我们通过苹果开源在github上的swift-corelibs-foundation来深入了解下苹果是如何实现的这个CFRunLoop(NSRunLoop是对CFRunLoop的封装)。
当然,还是2年前的那句话:NSRunLoop
其英文释义一样,是运行一个无限循环,她是跟线程一起存在的。在主线程中NSRunLoop是默认启动的;在多线程中NSRunLoop默认不是启动的,需要开发者手动运行才能启动。
RunLoop的概念
RunLoop本质上是一个Event Loop,实现的是一个do-while
循环,主要用来处理事件消息。
more >>