估计现在好多人在为这一块头疼,所以先来点干货。
//最常用模板 //全局队列异步执行 DispatchQueue.global().async { //耗时操作 DispatchQueue.main.async { //回到主线程 } }
//创建新队列 DispatchQueue(label: "newQueue",attributes: .concurrent,target: nil).async { //并行队列异步执行 }
//创建新队列 DispatchQueue(label: "newQueue").async { //串行队列异步执行 }
//创建新队列 DispatchQueue(label: "newQueue").sync { //串行队列同步执行 }
let delay:TimeInterval = 3 DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + delay) { //3秒后在主线程执行 }
dispatch_block_t
在swift3.0已经没了dispatch_block_t
等价于() -> void
dispatch_queue_t
等价于DispatchQueue
自己看语法特点 大致这么多差不多就能解决大部分问题了,其它自己根据GCD自己对号入座。