GCD 與 NSOperation 的對比
來自: http://my.oschina.net/TaciturnKnightYQ/blog/614507
GCD
將
任務(block)
添加到隊列(串行/并發/主隊列),并且指定任務執行的函數(同步/異步)GCD是底層的C語言構成的API
iOS 4.0 推出的,針對多核處理器的并發技術
在隊列中執行的是由
block
構成的任務,這是一個輕量級的數據結構要停止已經加入
queue
的block
需要寫復雜的代碼需要通過
Barrier
或者同步任務設置任務之間的依賴關系只能設置隊列的優先級
高級功能:
一次性 once
延遲操作 after
調度組
NSOperation
核心概念:把
操作(異步)
添加到隊列(全局的并發隊列)
OC 框架,更加面向對象,是對 GCD 的封裝
iOS 2.0 推出的,蘋果推出 GCD 之后,對 NSOperation 的底層全部重寫
Operation
作為一個對象,為我們提供了更多的選擇可以隨時取消已經設定要準備執行的任務,已經執行的除外
可以跨隊列設置操作的依賴關系
可以設置隊列中每一個操作的優先級
高級功能:
最大操作并發數(GCD不好做)
繼續/暫停/全部取消
跨隊列設置操作的依賴關系
</ul>
</ul> </ul>
本文由用戶 KarMacartne 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!