<分区>
我打算使 NSOperationQueue 串行而不是并发。
我知道的一种方法是:
NSOperationQueue *globalQueue;
globalQueue.maxConcurrentOperationCount =1;
还有其他办法吗?
<分区>
我打算使 NSOperationQueue 串行而不是并发。
我知道的一种方法是:
NSOperationQueue *globalQueue;
globalQueue.maxConcurrentOperationCount =1;
还有其他办法吗?
最佳答案
如果您想要串行队列,将 maxConcurrentOperation 设置为 1 是正确的。您还可以使用 [NSOperationQueue mainQueue] 而不是创建新队列,因此在主线程上进行队列操作。但这只有在添加非常短的操作时才有用,因此用户界面不会被阻塞。另一方面,您不必担心线程 n 同步。
您可以使用 addOperations:waitUntilFinished:YES 将操作添加到任何队列,或者在每次添加操作时发送消息 waitUntilAllOperationsAreFinished。这样您就可以序列化操作,而不是将队列定义为串行。
关于ios - 如何使 NSOperationQueue 序列化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14996164/
相关文章:
objective-c - NSOperationQueue vs NSThread Priority——控制 NSOperationQueue 消耗多少 cpu
objective-c - 如何检查 NSOperationQueue 是否完成以及是否有任何操作失败?
ios - NSMutableURLRequest 和 "request body stream exhausted"错误
iphone - 暂停在 uiwebview 中运行的视频 (mp4)
objective-c - Objective-C - 核心数据和建立关系?