ios - 如何使 NSOperationQueue 序列化?

标签 ios objective-c nsoperationqueue

<分区>

我打算使 NSOperationQueue 串行而不是并发。

我知道的一种方法是:

NSOperationQueue *globalQueue;
globalQueue.maxConcurrentOperationCount =1;

还有其他办法吗?

最佳答案

如果您想要串行队列,将 maxConcurrentOperation 设置为 1 是正确的。您还可以使用 [NSOperationQueue mainQueue] 而不是创建新队列,因此在主线程上进行队列操作。但这只有在添加非常短的操作时才有用,因此用户界面不会被阻塞。另一方面,您不必担心线程 n 同步。

您可以使用 addOperations:waitUntilFinished:YES 将操作添加到任何队列,或者在每次添加操作时发送消息 waitUntilAllOperationsAreFinished。这样您就可以序列化操作,而不是将队列定义为串行。

关于ios - 如何使 NSOperationQueue 序列化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14996164/

相关文章:

IOS Tableview 支持全屏和横屏

ios - NS操作反向依赖

objective-c - NSOperationQueue vs NSThread Priority——控制 NSOperationQueue 消耗多少 cpu

objective-c - 如何检查 NSOperationQueue 是否完成以及是否有任何操作失败?

ios - NSMutableURLRequest 和 "request body stream exhausted"错误

iphone - 暂停在 uiwebview 中运行的视频 (mp4)

ios - 在 iOS 问题中播放部分音频文件?

objective-c - Objective-C - 核心数据和建立关系?

iphone - XCOde 4 如何在 xib 中旋转 View ?

objective-c - 如何根据计算属性过滤来自 NSFetchedResultsController 的结果?