是否可以使dispatch_queue_t为空?

时间:2012-12-17 10:06:43

标签: ios objective-c grand-central-dispatch

我找不到任何有关它的信息。我的应用程序中有一个dispatch_queue_t我要完成一些任务。但是这些任务需要一些时间,而且有时它们不应再被调用,所以我想清理队列。有可能吗?

2 个答案:

答案 0 :(得分:4)

使用NSOperationQueue获得这些功能 - 更方便。将操作添加到队列后,您可以取消它们,甚至在需要时取消所有待处理的操作。

这是一个很好的教程,可以帮助您入门: http://www.raywenderlich.com/19788/how-to-use-nsoperations-and-nsoperationqueues

答案 1 :(得分:0)

不,您无法从dispatch_queue_t中删除项目。你有两个选择:

  1. 您是否有工作项目检查他们是否在工作前被取消
  2. 暂停队列;这不会删除项目,但会阻止它们运行