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