定義:
runLoop是運行循環,處理app中的事件,保持程序的持續運行
內部運行邏輯:
1.通知Observers進入loop,處理timer、事件、block
2.事件處理完成后通知Observers進入休眠狀態,等待消息喚醒
3.通知Observers結束休眠,開始處理事件
項目用到的地方:
1.線程保活,控制線程生命周期
2.解決NSTimer在滑動時停止工作的問題
3.監控應用卡頓
4.性能優化
runloop和線程的關系:
一個線程對應一個RunLoop,主線程的RunLoop默認創建并啟動,子線程的RunLoop需手動創建且手動啟動(調用run方法)