回答
NSOperationQueue可能更適合長時間運行的操作,這些操作可能需要取消或具有複雜的依賴關係。對於應該具有最小性能和內存開銷的短任務,GCD調度隊列更好。
可以取消已經在NSOperationQueue中入隊的操作(只要操作支持它)。當你將一個塊排入GCD調度隊列時,它肯定會在某個時刻執行。
檢查下面的鏈接,它可能對你有幫助。
我有在[THIS]中看到了關於後臺進程的答案(http://stackoverflow.com/questions/3762200/how-to-keep-an-iphone-app-running-on-background-fully-operational/17554514#17554514)link 。我需要長時間運行記錄器應用程序。以正確的方式指向我 – Valli
GCD
是級別低於NSOperationQueue
,它的主要優點是,它的實現是非常輕量級的,側重於無鎖算法和性能。
通常,您應該使用適合您需求的最高抽象級別。這意味着您通常應該使用NSOperationQueue
而不是GCD
。 NSOperationQueue
可以讓您更好地控制操作的執行方式。
感謝您的再次我聽說GCD使用起來比較方便,而另一種則頭重腳輕(基於很少的教程..) – Valli
- 1. 線性隊列和循環隊列之間的區別
- 2. NSOperationQueue之間的區別:currentQueue/new?
- 3. 「調用堆棧」和「任務隊列」之間的區別
- 4. 樂隊和團體之間的區別
- 5. 創建的隊列和全局隊列之間的區別。 Swift 3
- 6. 使用各種調度隊列和NSOperationQueue處理執行時間和性能
- 7. 假脫機和設備隊列之間的區別是什麼?
- 8. Laravel 5.1:事件和郵件之間的區別:隊列?
- 9. 消息隊列和郵箱之間的區別
- 10. 默認和託管代理隊列之間的區別?
- 11. 列表和序列之間的區別
- 12. TFS團隊和TFS團隊之間的區別是什麼?
- 13. NSOperationQueue和GCD之間的序列化
- 14. 管道和消息隊列之間有什麼區別?
- 15. 調試和發佈之間的區別
- 16. 石英調度程序中的pauseJob和pauseTrigger之間的區別?
- 17. OpenMP中的靜態和動態調度之間的區別C
- 18. ListView和列之間的區別?
- 19. 對象和散列之間的區別?
- 20. NodeJS和Python散列之間的區別
- 21. 加密和散列之間的區別
- 22. 陣列和指針之間的區別
- 23. parcelable和序列化之間的區別?
- 24. 調度程序和上下文切換器之間的區別?
- 25. 反應調度器io和計算之間的區別?
- 26. Hadoop cgroups和調度程序之間的區別
- 27. 是什麼Quartz調度和JMS之間的區別?
- 28. 阿卡調度員和路由器之間的區別
- 29. NSOperationQueue隊列waitUntilAllOperationsAreFinished掛
- 30. 長度爲1的tcl列表和標量之間的區別?
那麼在這種情況下,我可以建議SO鏈接:) ..在這裏希望你找到它們有用... http://stackoverflow.com/questions/7078658/operation-queue-vs-dispatch-queue-for-ios -application http://stackoverflow.com/questions/10373331/nsoperation-vs-grand-central-dispatch http://stackoverflow.com/questions/11676629/ios-dispatch-async-vs-nsoperationqueue和兩個外部鏈接: - http://maniacdev.com/2010/03/easier-threading-with-nsoperation-for-better-performance http://blog.spec-india.com/difference-between-nsthread-and-nsoperation – IronManGill