Swift3GCD

GCD的使用在Swift3中的方法

//串行队列

let q:DispatchQueue = DispatchQueue(label: "xiaosi")

 

//并发队列 qos : 为 优先级别 可以不设置

let queue = DispatchQueue(label: "com.appcoda.anotherQueue", qos: .userInitiated, attributes: .concurrent)

 

使用最多的是异步并发

        queue.async {

            print("异步并发11111\(Thread.current)")

        }

        

        queue.async {

            print("异步并发22222\(Thread.current)")

        }

        

        queue.async {

            print("异步并发33333\(Thread.current)")

        }

        

        queue.async {

            print("异步并发44444\(Thread.current)")

        }

 

其次是异步串行

        queue.async {

            print("异步串行11111\(Thread.current)")

        }

        queue.async {

            print("异步串行2222\(Thread.current)")

        }

        queue.async {

            print("异步串行4444\(Thread.current)")

        }

        queue.async {

            print("异步串行5555\(Thread.current)")

        }

还有就是线程组

        let group = DispatchGroup()

 

        q.async(group: group) {

            sleep(2)

            print("异步任务3333\(Thread.current)")

        }

        

        q.async(group: group) {

            sleep(2)

            print("异步任务4444\(Thread.current)")

        }

        

        group.notify(queue: q) {

            print("全部做完了")

        }

        

 

 

 

posted @ 2016-12-14 15:26  有梦想的人,不睡觉  阅读(451)  评论(0编辑  收藏  举报