GCD Grand Central Dispatch 來實現多線程的一種方式 !多線程
1: 使用異步函數執行主隊列中的任務併發
dispatch_async(dispatch_get_main_queue(), ^{.....});的做用是將代碼塊中的工做轉回到主線程。異步
主隊列:是和主線程相關聯的隊列,主隊列是自帶的一種特殊的串行隊列,放在主隊列中的任務,都會放到主線程中執行;async
提示:若是把任務放到主隊列中處理,那麼不管處理函數是異步仍是同步都不會開啓新的線程函數
2:併發操做:有不少沒有關聯的耗時操做咱們能夠考慮使用併發操做。GCD提供實現併發操做的方法spa
3: 任務1和任務2是在主線程仍是子線程,仍是單獨開啓一個新的線程線程
4: 開啓子線程 使用GCD的方式,在子線程加載圖片完畢,主線程根據加載的imge刷新UI;orm
5: 線程間通訊: 從子線程回到主線程隊列