NSOperation的简单使用代码

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/69938603

注意点:需要将operation对象添加到队列中。代码:

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

NSBlockOperation * o1 = [NSBlockOperation blockOperationWithBlock:^{

NSLog(@"1---%@", [NSThread currentThread]);

NSLog(@"1.1---%@", [NSThread currentThread]);

NSLog(@"1.2---%@", [NSThread currentThread]);

NSLog(@"1.3---%@", [NSThread currentThread]);

NSLog(@"1.4---%@", [NSThread currentThread]);

    }];

NSBlockOperation * o2 = [NSBlockOperation blockOperationWithBlock:^{

NSLog(@"2---%@", [NSThread currentThread]);

    }];

NSBlockOperation * o3 = [NSBlockOperation blockOperationWithBlock:^{

NSLog(@"3---%@", [NSThread currentThread]);

    }];

    [o3 addDependency:o1];  // 线程依赖

    [o3 addDependency:o2];    // 线程间不能相互依赖

NSMutableArray * arr = [NSMutableArray array];

    [arr addObject:o1];

    [arr addObject:o2];

    [arr addObject:o3];

//    [queue addOperations:arr waitUntilFinished:YES];

    [queue addOperation:o1];

    [queue addOperation:o2];

    [queue addOperation:o3];

NSLog(@"======================");

// 如何监听所有的任务全部完成

    [queue addOperationWithBlock:^{

NSLog(@"子线程%@", [NSThread currentThread]);

// 回到主线程

        [[NSOperationQueue mainQueue] addOperationWithBlock:^{

NSLog(@"回到主线程%@", [NSThread currentThread]);

        }];

    }];

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏移动端周边技术扩展

UITableViewCell中添加复制逻辑

18140
来自专栏DannyHoo的专栏

保存图片到沙盒并从沙盒中取出

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/...

12410
来自专栏陈满iOS

[iOS学习笔记]·FMDB:第三方数据库处理框架·用法示例篇(附源码Demo)

FMDatabase的实例对象_db在执行SQL语句的时候采取类似下面的代码。其中,有两种风格,一种在executeUpdate方法后面直接写上字符串的字面量语...

19920
来自专栏wOw的Android小站

[Objective-C] KVC 和 KVO

KVC是一种用间接方式访问类的属性的机制。比如你要给一个类中的属性赋值或者取值,可以直接通过类和点运算符实现,当然也可以使用KVC。不过对于私有属性,点运算符就...

23410
来自专栏游戏杂谈

Javascript与Objective-C 字符串与数组的方法类比

摘自:Learning the iOS 4 SDK for JavaScript Programmers  

11320
来自专栏岑志军的专栏

iOS判断运营商类型

32370
来自专栏Alice

从网络上下载省份城市名称并存入文件然后进行读取省份城市

//实现的功能是 从后台拿到城市的省份以及名称,然后保存在本地的沙盒中 在使用的时候再拿出来用。 步骤1 //向后台请求数据 //忽略缓存 [Requ...

22050
来自专栏陈满iOS

iOS·数组元素逆序方案

求解: strArr的反序数组strRevArr,即元素顺序分别为e,d,c,b,a。

16340
来自专栏Code_iOS

iOS 监听设备方向旋转(iOS 9)

http://blog.csdn.net/jpcfei/article/details/8995531

22130
来自专栏iOS开发随笔

iOS常用的正则表达式(持续更新)

15330

扫码关注云+社区

领取腾讯云代金券