NSOperationQueue串行操作
2013-11-18 13:29
253 查看
当使用NSOperationQueue又要求串行操作时,即后一个task对前一个task有依赖关系时,采用如下方式,
方式一:
queue=[[NSOperationQueue alloc] init];
int index=1;
MyTask *task=[[[MyTask alloc] init] autorelease];
task.operationId=index++;
[queue addOperation:task];
task=[[[MyTask alloc] init] autorelease];
task.operationId=index++;
if ([[queue operations] count]>0) {
MyTask *theBeforeTask=[[queue operations] lastObject];
[task addDependency:theBeforeTask];
}
[queue addOperation:task];
方式二:
[queue setMaxConcurrentOperationCount:1];
设置线程池中的线程数,也就是并发操作数。默认情况下是-1,也就是没有限制,同时运行队列中的全部操作。设置为1即为串行,即当前只能执行单个task,以及FIFO原则执行完了之后再执行下一个
方式一:
queue=[[NSOperationQueue alloc] init];
int index=1;
MyTask *task=[[[MyTask alloc] init] autorelease];
task.operationId=index++;
[queue addOperation:task];
task=[[[MyTask alloc] init] autorelease];
task.operationId=index++;
if ([[queue operations] count]>0) {
MyTask *theBeforeTask=[[queue operations] lastObject];
[task addDependency:theBeforeTask];
}
[queue addOperation:task];
方式二:
[queue setMaxConcurrentOperationCount:1];
设置线程池中的线程数,也就是并发操作数。默认情况下是-1,也就是没有限制,同时运行队列中的全部操作。设置为1即为串行,即当前只能执行单个task,以及FIFO原则执行完了之后再执行下一个
相关文章推荐
- 10.2 NSOperation/NSOperationQueue:提供了一些在GCD中不容易实现的特性,如:限制最大并发数量,操作之间的依赖关系.
- NSOperation和NSOperationQueue的一些基本操作
- 【iOS开发-91】GCD的同步异步串行并行、NSOperation和NSOperationQueue一级用dispatch_once实现单例(转载)
- GCD的同步异步串行并行、NSOperation和NSOperationQueue一级用dispatch_once实现单例
- 【iOS开发-91】GCD的同步异步串行并行、NSOperation和NSOperationQueue一级用dispatch_once实现单例
- 多线程之 NSOperation 与 NSOperationQueue 的基本操作 适合基础学习
- 线程操作 NSOperation以及他的子类与 NSOperationQueue的搭配使用
- 操作和操作队列 NSOperation和NSOperationQueue
- iOS简单优雅的实现复杂情况下的串行需求(各种锁、GCD 、NSOperationQueue...)
- NSOperationQueue 设置maxConcurrentOperationCount = 1,就是串行队列了吗?
- NSOperationQueue 依赖操作
- GCD的同步异步串行并行、NSOperation和NSOperationQueue一级用dispatch_once实现单例
- GCD的同步异步串行并行、NSOperation和NSOperationQueue一级用dispatch_once实现单例
- 【iOS开发-91】GCD的同步异步串行并行、NSOperation和NSOperationQueue一级用dispatch_once实现单例
- IOS NSOperationQueue(线程 封装操作)
- iOS简单优雅的实现复杂情况下的串行需求(各种锁、GCD 、NSOperationQueue...)
- 多线程编程3 - NSOperationQueue
- iOS多线程编程之NSOperation和NSOperationQueue的使用
- iOS学习总结之多线程编程NSOperation & NSOperationQueue
- NSOperationQueue