定义:
runLoop是运行循环,处理app中的事件,保持程序的持续运行
内部运行逻辑:
1.通知Observers进入loop,处理timer、事件、block
2.事件处理完成后通知Observers进入休眠状态,等待消息唤醒
3.通知Observers结束休眠,开始处理事件
项目用到的地方:
1.线程保活,控制线程生命周期
2.解决NSTimer在滑动时停止工作的问题
3.监控应用卡顿
4.性能优化
runloop和线程的关系:
一个线程对应一个RunLoop,主线程的RunLoop默认创建并启动,子线程的RunLoop需手动创建且手动启动(调用run方法)