gpt4 book ai didi

ios - 如何在 NSOperationQueue 完成之前阻止 NSOperation?

转载 作者:可可西里 更新时间:2023-11-01 04:47:22 26 4
gpt4 key购买 nike

我有一个数据加载操作需要在主线程之外运行以避免潜在的阻塞问题。为此,我使用了 NSOperationQueue 和 NSOperations。

但是,出现的一个问题是其中一个操作会根据传入的信息生成其他操作。试图解决这个问题也解决了我在其他地方遇到的一些小问题,因为我想到的解决方案是为 NSOperation 提供它自己的子任务队列。

问题是,一旦“main”退出,NSOperation 将被标记为“finished”,无论子队列是否完成处理;我该如何覆盖该行为?

最佳答案

您可以在退出操作主方法之前向您的子队列发送一条 waitUntilAllOperationsAreFinished 消息。这很简单,但不是一个好主意,因为它会阻塞整个线程,这相当浪费。

更好的解决方案是使用依赖系统。创建另一个依赖于您的主要操作的操作。创建子操作后,还将它们作为依赖项添加到新的“完成”操作中。

关于ios - 如何在 NSOperationQueue 完成之前阻止 NSOperation?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16474447/

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