我试图了解将使用什么优先级来运行在声明为以下的自定义串行队列上调度的调度 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/