使用場景:網(wǎng)絡(luò)下載圖片,全部圖片下載完成后 加載到界面
創(chuàng)建組隊列,創(chuàng)建全局隊列,回去住隊列
將異步任務(wù)添加到全局并發(fā)隊列,將全局并發(fā)隊列添加到組隊列,組隊列使用notify進行監(jiān)視,當組隊列中的所有異步任務(wù)完成后執(zhí)行notify里面的代碼
func groupQueen(){
//創(chuàng)建隊列組
let group = DispatchGroup()
//創(chuàng)建全局隊列
let globelQueen = DispatchQueue.global(qos:DispatchQoS.QoSClass.default)
//創(chuàng)建主隊列
let main = DispatchQueue.main
//異步執(zhí)行任務(wù)1
globelQueen.async(group:group) {
sleep(5)
print("并行執(zhí)行任務(wù)1")
}
//異步執(zhí)行任務(wù)2
globelQueen.async() {
print("并行執(zhí)行任務(wù)2")
}
//任務(wù)1、2執(zhí)行完成之后,回到主線程
group.notify(qos: DispatchQoS.default, flags: DispatchWorkItemFlags.detached, queue: main) {
print("任務(wù)完成了")
}
}