将调度障碍 (GCD) 添加到自定义队列但不添加到全局并发队列

Posted

技术标签:

【中文标题】将调度障碍 (GCD) 添加到自定义队列但不添加到全局并发队列【英文标题】:Adding Dispatch Barriers (GCD) to Custom Queues But Not to The Global Concurrent queues 【发布时间】:2016-04-05 01:00:20 【问题描述】:

我在某处读到应该将调度障碍添加到自定义队列而不是全局队列。我没有得到确切的原因。谢谢。

【问题讨论】:

【参考方案1】:

全局队列是进程内的共享资源。系统框架需要能够依赖于不受未知互锁影响的全局队列,否则低级框架进程可能会被更高级别的用户活动阻止,从而可能导致死锁。 GCD 使开发人员能够在全局队列上建立任意并发抽象和互锁,因此抱怨他们在全局队列上的缺席是一个有争议的问题。问为什么不能在全局队列上设置障碍,就像问为什么抢先式多任务系统上的一个进程不能阻塞所有其他进程。

【讨论】:

以上是关于将调度障碍 (GCD) 添加到自定义队列但不添加到全局并发队列的主要内容,如果未能解决你的问题,请参考以下文章

GCD

多线程开发之GCD

GCD的使用

GCD

GCD

多线程编程 - GCD