前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >NSOperation的简单使用代码

NSOperation的简单使用代码

作者头像
用户1451823
发布2018-09-13 15:35:23
5160
发布2018-09-13 15:35:23
举报
文章被收录于专栏:DannyHoo的专栏

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://cloud.tencent.com/developer/article/1337730

注意点:需要将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);

        }];

    }];

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017年04月09日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档