[Swift] Swift3.0--GCD

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 = 3
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + delay) {
    //3秒后在主线程执行
}

 dispatch_block_t在swift3.0已经没了  dispatch_block_t等价于() -> void
dispatch_queue_t等价于DispatchQueue
自己看语法特点
大致这么多差不多就能解决大部分问题了,其它自己根据GCD自己对号入座。

posted @ 2017-06-02 10:41  demoblog  阅读(264)  评论(0编辑  收藏  举报