//调度组的使用
//将多个线程进行组合管理,可以设置当多个相同层次的任务完成之后,再执行另一项任务
import UIKit
print("调试任务开始执行")
let group=DispatchGroup()
//同时运行多个任务,每个任务的启动时间是按照加入队列的顺序,结束的顺序则依赖各自具体的任务。
let globalQueue=DispatchQueue.global()
//通过队列的异步方法,将传入的block快,放入指定的queue队列里运行
globalQueue.async(group: group, execute: DispatchWorkItem(block: {
print("load a user picture from the remote server")
}))
//通过队列的异步方法,将传入的block快,放入指定的queue队列里运行
globalQueue.async(group: group, execute: DispatchWorkItem(block: {
print("load a user picture from the remote server2")
}))
//当调动组中的任务全部完成后,通过调用通知方法,完成调度组任务,并执行接下来的块中的动作

group.notify(queue: globalQueue, execute: {
print("over")
})


//通过队列的异步方法,将传入的block快,放入指定的queue队列里运行
globalQueue.async(group: group, execute: DispatchWorkItem(block: {
print("load a user picture from the remote server3")
}))