Runloop和线程的关系

2019-09-25  本文已影响0人  吕建雄

Runloop和线程的关系

1、一一对应,主线程的Runloop自动创建,子线程的Runloop必须手动创建

2、Runloop在第一次获取时创建,在线程结束时销毁

在Runloop中有多个运行模式,但是只能选择一种运行模式,mode中至少要有一个timer、source或者observer

关于mode:

系统默认注册5个mode,

1、NSDefaultRunLoopMode,APP默认mode,通常主线程在这个mode下运行

2、UITrackingRunLoopMode,界面跟踪mode,用于ScrollView追踪触摸滑动,保证滑动时不受其他mode影响

3、NSRunloopCommonModes,相当于NSDefaultRunLoopMode+UITrackingRunLoopMode

4、UIInitializetionRunLoopMode,刚启动APP时进入的第一个mode,启动完成后不再使用

5、GSEventReceiveRunLoopMode,接收系统事件的内部mode,通常用不到

系统暴露的5个Mode Observer在runloop中的循环
上一篇下一篇

猜你喜欢

热点阅读