Swift GCD

作者: CaptainRoy | 来源:发表于2020-04-13 19:38 被阅读0次

参考链接

主线程
DispatchQueue.main.async {
    NSLog("\(Thread.current)")
}
串行队列
  • 同步依次执行,在主线程依次执行
let queue = DispatchQueue(label: "test")
for i in 0..<10 {
    queue.sync {
        NSLog("\(Thread.current) -- \(i)")
     }
}
  • 同步依次执行,在同一个线程执行
let queue = DispatchQueue(label: "test")
for i in 0..<10 {
    queue.async {
        NSLog("\(Thread.current) -- \(i)")
     }
}
并行队列
  • 创建多个线程,执行顺序不确定
let queue = DispatchQueue(label: "test", qos: .default, attributes: .concurrent, autoreleaseFrequency: .inherit, target: nil)
for i in 0..<10 {
    queue.async {
        NSLog("\(Thread.current) -- \(i)")
    }
}

相关文章

网友评论

      本文标题:Swift GCD

      本文链接:https://www.haomeiwen.com/subject/enwnmhtx.html