10

我必须使用dispatch_resume(...);来恢复暂停的调度,但是由于应用程序的多个部分可能会调用恢复调度的方法,所以我需要在调用它恢复之前知道调度是否被暂停(文档说我必须平衡调度恢复/暂停,并且不能有比暂停更多的恢复,否则我将以“负暂停计数器”结束。

有没有办法测试调度是否被暂停?

4

1 回答 1

13

没有,按设计(就像没有取消机制一样)。暂停/恢复的概念必须像保留/释放一样仔细平衡

也就是说,如果 A 挂起队列,B 没有办法安全地知道它可以在不了解 A 的情况下恢复队列。鉴于此,调度 API 没有理由增加 is-suspended 查询的复杂性并启用一整类会到处出现的错误。

于 2011-01-31T21:29:49.903 回答