gpt4 book ai didi

ios - 你能在没有死锁的情况下从并发线程调用 dispatch_sync 吗?

转载 作者:行者123 更新时间:2023-11-28 13:12:17 24 4
gpt4 key购买 nike

我知道在串行队列上执行此操作会导致死锁,但我还没有发现任何提及在并发队列上执行此操作会导致死锁的内容。我只是想验证它不会死锁(它似乎不会,因为它只会阻塞队列中的一个线程,任务将在同一队列中的另一个线程上运行)

此外,您真的可以通过在并发队列上调用 dispatch_sync 来控制执行顺序吗? (提到了 here )我不明白为什么会发生这种情况,因为异步与同步与调用者线程有关。

最佳答案

这不会死锁,因为分派(dispatch)的 block 可以立即开始运行 - 它不是串行队列,因此不必等待当前 block 完成。

但这仍然不是一个好主意。这将阻塞一个线程,导致操作系统启动一个新线程(因为它在线程休眠时仍有空闲 CPU)浪费内存。

关于ios - 你能在没有死锁的情况下从并发线程调用 dispatch_sync 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30860576/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com