iOS多線程之NSOperation和GCD的比較

摘自:http://blog.csdn.net/chenglibin1988/article/details/12654367


GCD是基於c的底層api,NSOperation屬於object-c類。ios 首先引入的是NSOperation,IOS4之後引入了GCD和NSOperationQueue並且其內部是用gcd實現的。

相對於GCD:
1,NSOperation擁有更多的函數可用,具體查看api。
2,在NSOperationQueue中,可以建立各個NSOperation之間的依賴關係。
3,有kvo,可以監測operation是否正在執行(isExecuted)、是否結束(isFinished),是否取消(isCanceld)。
4,NSOperationQueue可以方便的管理併發、NSOperation之間的優先級。
GCD主要與block結合使用。代碼簡潔高效。
  GCD也可以實現複雜的多線程應用,主要是建立個個線程時間的依賴關係這類的情況,但是需要自己實現相比NSOperation要複雜。
具體使用哪個,依需求而定。 從個人使用的感覺來看,比較合適的用法是:除了依賴關係儘量使用GCD,因爲蘋果專門爲GCD做了性能上面的優化。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章