Pra*_*wal 6 multithreading objective-c grand-central-dispatch ios thread-priority
如何使用GCD为自定义创建的串行异步队列设置高优先级?
我看了一下这个Q&A,其中建议使用dispatch_set_target_queue()&Pass High Priority Queue(DISPATCH_QUEUE_PRIORITY_HIGH)作为自定义串行异步队列的并发队列.
我的理解是,这将使串行队列上的所有任务同时执行.我的理解是否正确?如果是这样,什么是替代解决方案?
在iOS 8之前,将目标队列设置为高优先级队列是如何实现此目的的.即使目标队列是并发的,您的队列仍将保持串行.
从8.0版开始,还有另一种方法:
dispatch_queue_attr_t queueAttrs = dispatch_queue_attr_make_with_qos_class(
DISPATCH_QUEUE_SERIAL,
QOS_CLASS_USER_INITIATED /* Same as DISPATCH_QUEUE_PRIORITY_HIGH */,
0
);
dispatch_queue_t queue = dispatch_queue_create("myqueue",queueAttrs);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2681 次 |
| 最近记录: |