重新排序NSOperationQueue

9

我希望找到一种重新排序NSOperationQueue的方法。

我可以取消所有操作并按照想要的顺序重新加入它们,但我希望有一种更简洁的方式。 有什么想法吗?

2个回答

21
NSOperationQueue和底层的GCD队列之间的主要区别在于NSOperation支持操作之间的依赖关系。NSOperationQueue不会安排一个操作,直到它所有的依赖操作都已完成。从可用的操作中,选择最高优先级的操作来运行。

由于操作队列可能同时运行多个操作(根据maxConcurrentOperations),因此队列上没有严格的顺序感。您最好使用依赖关系API或更改操作优先级。

我相信您可以在将操作添加到队列后更改依赖关系和优先级。


6

队列中没有重新排序操作的能力。如果您需要表达一个操作必须在另一个操作之后执行,请使用依赖关系API。

有关更多信息,请参见NSOperationQueue文档。概述的前两段讨论了依赖关系。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接