gpt4 book ai didi

ios - Operation 和 OperationQueues 的同步和异步状态

转载 作者:行者123 更新时间:2023-11-28 15:46:04 29 4
gpt4 key购买 nike

我正在阅读有关 OperationQueue 的文档。

我有这样的疑问,我们正在创建的操作,BlockOperation 和 OperationQueue 的同步和异步状态是什么。

据我了解,它将作为同步操作运行,但如果我们想以异步方式运行它,我们必须使用 dispatch.async 以异步方式分派(dispatch)它。

我理解的对吗?

最佳答案

当您提交给 BlockOperation 的 block 返回时,同步操作将被视为由 OperationQueue 完成(或者 main 方法,如果您子类化 操作)

异步操作(即从其 isAsynchronous 属性返回 true),必须通过设置在 Operation 的子类中手动标记为已完成isFinished = true(您还应该同时设置isExecuting = false)。这允许您使用 Dispatch.async 将您需要执行的任何工作分派(dispatch)到不同的队列,但仍将操作保留在 OperationQueue 中。这对于构建依赖操作或仅允许特定数量的操作并行运行很有用。

Apple 的 Operation docs对所有这些都有很好的解释。

关于ios - Operation 和 OperationQueues 的同步和异步状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43033079/

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