Ron*_*gge 5 concurrency objective-c nsoperation nsoperationqueue ios
我有一个数据加载操作需要从主线程运行,以避免潜在的阻塞问题.为此,我使用了NSOperationQueue和NSOperations.
然而,出现的一个问题是存在一种操作以基于传入信息产生附加操作.试图解决这个问题也解决了我在其他地方遇到的一些小问题,因为我遇到的解决方案是给NSOperation它自己的子任务队列.
问题是,只要'main'退出,NSOperation将被标记为'finished',无论子队列是否已完成处理; 我该如何覆盖这种行为?
您可以waitUntilAllOperationsAreFinished在退出操作主方法之前向子队列发送消息。这很简单,但不是一个好主意,因为它会阻塞整个线程,这是相当浪费的。
更好的解决方案是使用依赖系统。创建另一个依赖于您的主操作的操作。创建子操作后,还将它们添加为新“完成”操作的依赖项。
| 归档时间: |
|
| 查看次数: |
577 次 |
| 最近记录: |