【发布时间】:2015-06-16 06:48:05
【问题描述】:
我知道在串行队列上执行此操作会导致死锁,但我没有发现任何提及在并发队列上执行此操作会导致死锁的内容。我只是想验证它不会死锁(它似乎不会死锁,因为它只会阻塞队列中的一个线程,而任务会在同一个队列的另一个线程上运行)
另外,您是否可以通过在并发队列上调用 dispatch_sync 来控制执行顺序? (提到了here)我不明白为什么会发生这种情况,因为异步与同步与调用者线程有关。
【问题讨论】:
-
谢谢,但这更像是一个普遍的问题,而不是我遇到的问题。
-
除非你能绝对保证不是所有线程最终都会同时等待某个东西,否则就会出现死锁风险——你怎么能保证呢?
标签: ios objective-c multithreading swift grand-central-dispatch