NSBlockOperation - 执行串行任务

原创 2016年05月31日 17:08:41

NSBlockOperation - 执行串行任务

方法一 采用 maxConcurrentOperationCount

 NSOperationQueue *queue = [[NSOperationQueue alloc]init];
queue.maxConcurrentOperationCount = 1;

NSBlockOperation *operation1 = [NSBlockOperation blockOperationWithBlock:^{
        NSLog(@"--------登录----");
}];
NSBlockOperation *operation2 = [NSBlockOperation blockOperationWithBlock:^{
       NSLog(@"---------获取基本信息----");
}];
NSBlockOperation *operation3 = [NSBlockOperation blockOperationWithBlock:^{
       NSLog(@"---------获取当前班级信息----");
}];

[queue addOperations:@[operation1,operation2,operation3] waitUntilFinished:YES];

方法二 采用 addDependency

 NSOperationQueue *queue = [[NSOperationQueue alloc]init]; 

NSBlockOperation *operation1 = [NSBlockOperation blockOperationWithBlock:^{
        NSLog(@"--------登录----");
}];
NSBlockOperation *operation2 = [NSBlockOperation blockOperationWithBlock:^{
       NSLog(@"---------获取基本信息----");
}];
NSBlockOperation *operation3 = [NSBlockOperation blockOperationWithBlock:^{
       NSLog(@"---------获取当前班级信息----");
}];
[operation2 addDependency:operation1];
[operation3 addDependency:operation2];
[queue addOperations:@[operation1,operation2,operation3] waitUntilFinished:YES];

相关文章推荐

从源码看AsyncTask是如何实现任务的串行执行的

从源码看AsyncTask是如何实现任务的串行执行的我们从execute开始开始看: @MainThread public final AsyncTask execute...

ThreadPoolTaskExecutor 多线程分解执行耗时任务与单线程串行执行简单比较

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 2...

俩个PC机通过串行口互联,实现件的无差错传输。程序必须用中断方式来完成任务

俩个PC机通过串行口互联,实现件的无差错传输。程序必须用中断方式来完成任务...
  • missyd
  • missyd
  • 2011年01月12日 20:22
  • 719

多线程GCD的详细讲解 任务和队列(串行队列,并发队列)

1.什么是GCD 2.任务和队列 执行任务的方式 队列:串行队列,并行队列,全局队列,主队列 //串行队列 同步执行任务 会在当前线...

iOS-GCD的串行队列和并行队列的任务及实现

什么是GCD GCD全称是GrandCentral Dispatch,纯C语言的,提供了非常多强大的函数 •GCD的优势 1,GCD是苹果公司为多核的并行运算提出的解决方案 2,GCD会自动利用更多的...

quartz任务串行并行

这两天写程序的时候,后台解析报文的线程需要用到quartz框架,但是由于是循环执行,所有必须要使quartz任务串行执行。 在看了下面网友的介绍后,决定试一试: 转载: http://blog....

多线程GCD的详细讲解 任务和队列(串行队列,并发队列) (一)

1.什么是GCD 2.任务和队列 执行任务的方式 队列:串行队列,并行队列,全局队列,主队列 //串行队列 同步执行任务 会在当前...

GCD介绍。串行队列、并行队列、全局队列、主队列、同步任务、异步任务

GCD的基本思想就是将操作(任务)放在队列中去执行 队列负责调度任务执行所在的线程以及具体的执行时间 队列的特点是先进先出,新添加至队列的操作(任务)都会排在队尾 GCD...

IOS多线程知识总结/队列概念/GCD/主队列/并行队列/全局队列/主队列/串行队列/同步任务/异步任务区别

进程:正在进行中的程序被称为进程,负责程序运行的内存分配;每一个进程都有自己独立的虚拟内存空间       线程:线程是进程中一个独立的执行路径(控制单元);一个进程中至少包含一条线程,即主线程 ...

串行队列/并发队列&异步任务/同步任务代码演练

串行队列+同步任务 /* 1.是否开线程? 不开 2.i是否有序? 是 3.mark在哪里执行? 最后 */ - (void)demo01{ // 创建串行队列...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:NSBlockOperation - 执行串行任务
举报原因:
原因补充:

(最多只允许输入30个字)