据我从上面的理解,NSOperationQueue并行执行操作,让依赖思想放在一边。
我需要知道NSOperationQueue真的并行启动所有操作吗?它会打电话吗? - 按时间顺序或按队列顺序逐个启动每个操作的启动方法?
答案 0 :(得分:1)
正如Tim已经回答的那样,查看maxConcurrentOperationCount
,如果将其设置为1,则操作将以串行方式执行。
此外,如果您担心执行操作的顺序但想要利用并行执行,则可以通过调用- (void)addDependency:(NSOperation *)operation
来非常简单地设置NSOperation对象之间的依赖关系。
例如,您需要在操作2之前执行operation1,您可能会这样:
NSOperation *operation1;
NSOperation *operation2;
[operation2 addDependency:operation1];
答案 1 :(得分:0)
您可能对NSOperationQueue的maxConcurrentOperationCount
属性感兴趣 - 它确定允许队列一次启动的任务数。