NSOprationQueue 与 GCD 的区别与选用
GCD 技術是一個輕量的,底層實現隱藏的神奇技術,我們能夠通過GCD和block輕松實現多線程編程,有時候,GCD相比其他系統提供的多線程方法更加有效,當然,有時候GCD不是最佳選擇,另一個多線程編程的技術 NSOprationQueue 讓我們能夠將后臺線程以隊列方式依序執行,并提供更多操作的入口,這和 GCD 的實現有些類似。
這種類似不是一個巧合,在早期,MacOX 與 iOS 的程序都普遍采用Operation Queue來進行編寫后臺線程代碼,而之后出現的GCD技術大體是依照前者的原則來實現的,而隨著GCD的普及,在iOS 4 與 MacOS X 10.6以后,Operation Queue的底層實現都是用GCD來實現的。
那這兩者直接有什么區別呢?
總的來說,Operation queue 提供了更多你在編寫多線程程序時需要的功能,并隱藏了許多線程調度,線程取消與線程優先級的復雜代碼,為我們提供簡單的API入口。從編程原則來說,一般 我們需要盡可能的使用高等級、封裝完美的API,在必須時才使用底層API。但是我認為當我們的需求能夠以更簡單的底層代碼完成的時候,簡潔的GCD或許 是個更好的選擇,而Operation queue 為我們提供能更多的選擇。
轉載于:https://www.cnblogs.com/sunjianfei/p/5959103.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的NSOprationQueue 与 GCD 的区别与选用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 武警济南指挥学院合并到哪了
- 下一篇: 【BZOJ-2668】交换棋子