gpt4 book ai didi

ios - 对 NSOperationQueue 工作的困惑

转载 作者:行者123 更新时间:2023-11-29 03:38:57 24 4
gpt4 key购买 nike

苹果公司是这么说的操作队列通常提供用于运行其操作的线程。在 OS X v10.6 及更高版本中,操作队列使用 libdispatch 库(也称为 Grand Central Dispatch)来启动其操作的执行。因此,无论操作被指定为并发操作还是非并发操作,操作始终在单独的线程上执行。

据我从上面几行了解到 NSOperationQueue 并行执行操作,让我们把依赖关系放在一边。

我需要知道 NSOperationQueue 真的并行启动所有操作吗?是否打电话 - 每个操作的启动方法是在某一时刻还是按队列顺序逐个启动?

最佳答案

正如 Tim 已经回答的那样,请查看 maxConcurrentOperationCount,如果将其设置为 1,则操作将串行执行。

此外,如果你关心操作执行的顺序但想利用并行执行,你可以通过调用 - (void)addDependency:(NSOperation *) 非常简单地设置 NSOperation 对象之间的依赖关系操作

例如,您需要在操作 2 之前执行操作 1,您会执行如下操作:

NSOperation *operation1;
NSOperation *operation2;
[operation2 addDependency:operation1];

关于ios - 对 NSOperationQueue 工作的困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18745052/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com