- 每條線程都有
唯一
的一個RunLoop對象與之對應的 - 主線程的RunLoop是
自動創建並啟動
- 子線程的RunLoop需要
手動啟動
-
子線程的RunLoop創建步驟如下:
-
獲得RunLoop對象后要調用
run
方法來啟動一個運行循環// 啟動RunLoop [[NSRunLoop currentRunLoop] run];
-
RunLoop的其他啟動方法
// 第一個參數:指定運行模式 // 第二個參數:指定RunLoop的過期時間,即:到了這個時間后RunLoop就失效了 [[NSRunLoop currentRunLoop] runMode:kCFRunLoopDefaultMode beforeDate:[NSDate distantFuture]];
- RunLoop是來管理線程的,當線程的RunLoop被開啟后,線程會在執行完任務后進入休眠狀態,有了任務就會被喚醒去執行任務。
- RunLoop在第一次獲取時被創建,在線程結束時被銷毀。