- GCD
- 將
任務(wù)(block)
添加到隊(duì)列(串行/并發(fā)/主隊(duì)列),并且制定任務(wù)執(zhí)行的函數(shù)(同步/異步) - GCD是底層的C語(yǔ)言構(gòu)成的API
- iOS4.0推出的,針對(duì)多核處理器的并發(fā)技術(shù)
- 在對(duì)象中執(zhí)行的是由
block
構(gòu)成的任務(wù),這是一個(gè)輕量級(jí)的數(shù)據(jù)結(jié)構(gòu) - 要停止已經(jīng)加入
queue
的block
需要些賦值的代碼 - 需要通過(guò)
Barrier
或者同步任務(wù)這是任務(wù)之間的依賴關(guān)系 - 只能設(shè)置隊(duì)列的優(yōu)先級(jí)
- 高級(jí)功能:
- 一次性once
- 延遲操作 after
- 調(diào)度組
- 將
- NSOperation
- 核心概念:把
異步操作
添加到全局的并發(fā)隊(duì)列
- OC框架,更加面向?qū)ο?是對(duì)GCD的封裝
- iOS2.0推出的,蘋(píng)果推出GCD之后,對(duì)NSOperation的底層全部重寫(xiě)
-
Operation
作為一個(gè)對(duì)象,為我們提供了更多的選擇 - 可以隨時(shí)取消已經(jīng)設(shè)定要這邊執(zhí)行的任務(wù),已經(jīng)執(zhí)行的除外
- 可以跨隊(duì)列設(shè)置操作的依賴關(guān)系
- 可以設(shè)置隊(duì)列中每一個(gè)操作的優(yōu)先級(jí)
- 高級(jí)功能:
- 最大并發(fā)數(shù)
- 繼續(xù)/暫停/全部取消
- 跨隊(duì)列設(shè)置操作的依賴關(guān)系
- 核心概念:把