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("任务完成了")

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容