[ iOS _ 筆記 ] GCD 多執行緒

GCD (Grand Central Dispatch)多執行緒

    一種平行處理的機制,可以充分有效運用多核心的優勢,並減少記憶體使用。
執行效能也會比 NSThread 更好。

    主要觀念是,Apple 把工作分成好幾個 queue,然後放進去裡面執行,因此也不用管有幾核心,系統會自動分配要如何執行,讓系統執行效率更好。(不用管有幾核心,讓系統自己處理)。

    若自己寫的 dispatch queue 同等於背景的 Thread ,這時候不能碰 UI ,否則最造成問題。 因此要碰 UI 時要切回 main_queue 執行 。


同步執行: dispatch_sync() 使用同步執行時,Block 中的程式碼執行完畢後,原有的程式碼才會接下去繼續執行。

非同步執行: dispatch_async() 是異步執行


註記:影音串流,影音會解碼封包的順序性 因此會用到這種方式處理。

留言

這個網誌中的熱門文章

IOS_Objective-C學習筆記_(陣列 / 可修改陣列 ;字典 / 可修改字典)..

20170122 Radiobutton功能練習 (溫度轉換)

iOS_開發 拿到 Tableview Cell 上的按鈕是哪一個 (Tableview Cell Button)