Как создать dispatch_queue с атрибутами QoS в Swift 3?

У меня есть код вроде этого в Swift 2:

let attrs = dispatch_queue_attr_make_with_qos_class(DISPATCH_QUEUE_SERIAL, QOS_CLASS_UTILITY, 0)
let myQueue = dispatch_queue_create("com.example.serial-queue", attrs)

Это не компилируется в Swift 3, потому что dispatch_queue_attr_make_with_qos_class и dispatch_queue_create недоступны. Как создать очередную очередь с пользовательским классом QoS?

+3
источник поделиться
1 ответ

DispatchQueue теперь class, и вы можете использовать его инициализатор init(label:attributes:target:). Атрибуты теперь представляют собой OptionSet, называемый DispatchQueueAttributes, который имеет экземпляры .serial и .qosUtility.

Объединяя это:

let myQueue = DispatchQueue(label: "com.example.serial-queue",
                            attributes: [.serial, .qosUtility])
+6
источник

Посмотрите другие вопросы по меткам или Задайте вопрос