[ iOS _ 筆記 ] GCD 多執行緒
GCD (Grand Central Dispatch)多執行緒
一種平行處理的機制,可以充分有效運用多核心的優勢,並減少記憶體使用。執行效能也會比 NSThread 更好。
主要觀念是,Apple 把工作分成好幾個 queue,然後放進去裡面執行,因此也不用管有幾核心,系統會自動分配要如何執行,讓系統執行效率更好。(不用管有幾核心,讓系統自己處理)。
若自己寫的 dispatch queue 同等於背景的 Thread ,這時候不能碰 UI ,否則最造成問題。 因此要碰 UI 時要切回 main_queue 執行 。
同步執行: dispatch_sync() 使用同步執行時,Block 中的程式碼執行完畢後,原有的程式碼才會接下去繼續執行。
非同步執行: dispatch_async() 是異步執行
註記:影音串流,影音會解碼封包的順序性 因此會用到這種方式處理。
留言
張貼留言