gpt4 book ai didi

ios - NSOperationQueue 串行 FIFO 队列

转载 作者:技术小花猫 更新时间:2023-10-29 10:06:47 30 4
gpt4 key购买 nike

是否可以通过将 maxConcurrentOperationCount 设置为 1,将 NSoperationQueue 对象用作串行 FIFO 队列?

我注意到 docs状态...

For a queue whose maximum number of concurrent operations is set to 1, this equates to a serial queue. However, you should never rely on the serial execution of operation objects.

这是否意味着不能保证 FIFO 执行?

最佳答案

在大多数情况下,它将是 FIFO。然而,您可以设置 NSOperations 之间的依赖关系,这样一个提前提交的操作将让其他操作在队列中通过它,直到它的依赖关系得到满足。

这种依赖管理是文档指出不能保证 FIFO 性的原因。但是,如果您不使用依赖项,那么依赖它应该没问题。

更新:NSOperation 还有一个 queuePriority 属性,它也可以导致操作以非 FIFO 顺序执行。没有挂起的依赖项的最高优先级操作将始终首先执行。

NSOperation 子类也可能会覆盖 -isReady,这可能会导致它移回队列中。

因此您的队列上的执行保证串行,因为在此队列中一次不会运行超过一个操作。但是 Apple 不能保证 FIFO;这取决于您对所输入的操作执行的操作。

关于ios - NSOperationQueue 串行 FIFO 队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10948804/

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