ios - 如何在 Swift 3 中创建调度队列

标签 ios swift3 xcode8 grand-central-dispatch dispatch-after

在 Swift 2 中,我能够使用以下代码创建队列:

let concurrentQueue = dispatch_queue_create("com.swift3.imageQueue", DISPATCH_QUEUE_CONCURRENT)

但这在 Swift 3 中无法编译。

在 Swift 3 中编写此代码的首选方法是什么?

最佳答案

创建并发队列

let concurrentQueue = DispatchQueue(label: "queuename", attributes: .concurrent)
concurrentQueue.sync {

}  

创建串行队列

let serialQueue = DispatchQueue(label: "queuename")
serialQueue.sync { 

}

异步获取主队列

DispatchQueue.main.async {

}

同步获取主队列

DispatchQueue.main.sync {

}

获取后台线程之一

DispatchQueue.global(qos: .background).async {

}

Xcode 8.2 beta 2:

获取后台线程之一

DispatchQueue.global(qos: .default).async {

}

DispatchQueue.global().async {
    // qos' default value is ´DispatchQoS.QoSClass.default`
}

如果您想了解如何使用这些队列。请参阅此 answer

关于ios - 如何在 Swift 3 中创建调度队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50870464/

相关文章:

ios - 如何保持 uicollectionview 单元格之间的间距

ios - 无法使用标识符单元 XX 错误使单元出队 - 无法弄清楚如何解决

DrawerController 的 iOS 状态恢复问题

ios - 在 Swift 3 中读取 JSON 文件时出错

ios - Interface Builder 中的未知类,从 xcode9 beta5 迁移到 xcode 8.3

iphone - 如何释放为 appDelegate 共享实例分配的内存

ios - 如何在没有 Xcode 的设备上的命令行上使用 lldb 调试 iOS 应用程序

swift - 如何正确地将 sqlite 框架添加到 Xcode 项目中?

ios10 - Xcode 8强制 'Choose an initial device view'

ios - 如何在 Swift 中正确扩展 TimeZone 以初始化随机元素?