GCD 组队列学习小结

2017-02-09  本文已影响0人  马路边的油酥饼

使用场景:网络下载图片,全部图片下载完成后 加载到界面

创建组队列,创建全局队列,回去住队列

将异步任务添加到全局并发队列,将全局并发队列添加到组队列,组队列使用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("任务完成了")

}

}

上一篇 下一篇

猜你喜欢

热点阅读