GCD 組隊列學習小結

使用場景:網絡下載圖片,全部圖片下載完成后 加載到界面

創建組隊列,創建全局隊列,回去住隊列

將異步任務添加到全局并發隊列,將全局并發隊列添加到組隊列,組隊列使用notify進行監視,當組隊列中的所有異步任務完成后執行notify里面的代碼

func groupQueen(){

//創建隊列組

let group = DispatchGroup()

//創建全局隊列

let globelQueen = DispatchQueue.global(qos:DispatchQoS.QoSClass.default)

//創建主隊列

let main = DispatchQueue.main

//異步執行任務1

globelQueen.async(group:group) {

sleep(5)

print("并行執行任務1")

}

//異步執行任務2

globelQueen.async() {

print("并行執行任務2")

}

//任務1、2執行完成之后,回到主線程

group.notify(qos: DispatchQoS.default, flags: DispatchWorkItemFlags.detached, queue: main) {

print("任務完成了")

}

}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容