【发布时间】:2016-08-31 09:33:10
【问题描述】:
我的应用程序需要一些简单的并发性,因此我为这些提议选择了 GCD。 一切都很好,我使用一个具有高优先级的全局队列(Apple 的默认值之一)。但我被困在队列控制中。在某些用户操作后,我需要强制取消此队列中的所有进程。 此外,是否可以暂时检查其中一个全局队列是否有任何任务?如果用户要求,这将帮助我不填充相同的任务。
【问题讨论】:
-
如果您需要更多控制,请使用 NSOperationQueue。
-
您应该使用构建在 GCD 之上的
NSOperation和NSOperationQueue。NSOperations 是可取消的,NSOperationQueue具有operations和operationCount属性。 -
@MartinR 没有GCD方法来处理吗?基本上,NSOperationQueue 可以做所有这些事情?
-
@ImanouPetit GCD 有 4 个默认队列。我怎样才能访问其中之一?任何标识符?我看到很容易访问主要的 - NSOperationQueue.mainQueue()
标签: swift concurrency queue grand-central-dispatch