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

zum*_*zum 5 objective-c priority-queue grand-central-dispatch ios

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

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

所以,在这里,我只是说"队列"是一个串行队列.但是,系统将优先使用此队列.我知道有HIGH,DEFAULT,LOW,背景.

我也知道我可以这样做:

dispatch_set_target_queue(queue,DISPATCH_QUEUE_PRIORITY_DEFAULT);

这将使队列获得DEFAULT优先级.

但是,如果我只是做我上面展示的内容?

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

什么优先使用?

Ric*_*cky 19

值得注意的是,从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);
Run Code Online (Sandbox Code Playgroud)