您的位置:首页 > 产品设计 > UI/UE

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原则执行完了之后再执行下一个
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐