ios - GCD DISPATCH_QUEUE_SERIAL 它将以什么优先级运行?

标签 ios objective-c grand-central-dispatch priority-queue

我试图了解将使用什么优先级来运行在声明为以下的自定义串行队列上调度的调度 block :

dispatch_queue_t queue = dispatch_queue_create("com.purposeOfQueue.queue", DISPATCH_QUEUE_SERIAL);

所以,在这里,我只是说“队列”是一个串行队列。但是,系统将为此队列使用什么优先级。我知道有 HIGH、DEFAULT、LOW、BACKGROUND。

我也知道我可以这样做:

dispatch_set_target_queue(queue, DISPATCH_QUEUE_PRIORITY_DEFAULT);

这将使队列获得默认优先级。

但如果我只是按照上面显示的那样做呢?

dispatch_queue_t queue = dispatch_queue_create("com.purposeOfQueue.queue", DISPATCH_QUEUE_SERIAL);

将使用什么优先级?

最佳答案

值得注意的是,从 iOS 8 开始,队列的创建及其功能发生了变化。您将使用以下命令获取优先级最低的串行队列。

dispatch_queue_attr_t queueAttributes = dispatch_queue_attr_make_with_qos_class(DISPATCH_QUEUE_SERIAL, QOS_CLASS_BACKGROUND, 0);
self.queue = dispatch_queue_create("com.abc.myQueue", queueAttributes);

关于ios - GCD DISPATCH_QUEUE_SERIAL 它将以什么优先级运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23475137/

相关文章:

IOS-7 正确的方法来继续一个永远不会被召回的 View

ios - Swift iOS -DispatchGroup with URLSession 正在锁定它不在的应用程序的其他部分

ios - 我们需要在主线程或主队列中更新 UI 吗?

objective-c - 在 block 保留周期中调用函数

ios - Swift:在 View 中点击时出现隐藏的导航栏

ios - 无限调用 viewWillLayoutSubviews 导致屏幕卡住和内存警告

ios - UIDocumentPickerViewController:如何打开给定的子目录

iOS GCD : main thread dequeue blocks from queues other than main queue?

ios 对强/弱引用感到困惑

ios - 如何在 iOS 中检测 wifi 或 3G 信号强度?