1.简介
NSRunLoop是基于CFRunLoop
- 每条线程都有唯一的一个与之对应的RunLoop对象
- RunLoop保存在一个全局的Dictionary里,线程作为key,RunLoop作为value
- 线程刚创建时并没有RunLoop对象,RunLoop会在第一次获取它时创建
- RunLoop会在线程结束时销毁

runloop介绍.png
2.CFRunLoopModeRef

CFRunLoopModeRef_0.png

CFRunLoopModeRef_1.png
NSRunLoop是基于CFRunLoop