zoukankan      html  css  js  c++  java
  • NSOperation添加操作依赖和监听

    //创建队列

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

        

        //封装操作

        NSBlockOperation *op1 = [NSBlockOperation blockOperationWithBlock:^{

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

        }];

        NSBlockOperation *op2 = [NSBlockOperation blockOperationWithBlock:^{

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

        }];

        NSBlockOperation *op3 = [NSBlockOperation blockOperationWithBlock:^{

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

        }];

        NSBlockOperation *op4 = [NSBlockOperation blockOperationWithBlock:^{

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

        }];

     

       op3.completionBlock = ^{//添加监听,操作执行完毕后 回调

            NSLog(@"op3执行完毕。。");

        };

        

        //添加操作依赖  4->3->2->1    // 添加操作依赖能控制多任务并发的执行顺序,不能设置循环依赖,可以跨队列添加依赖

        [op3 addDependency:op4];

        [op2 addDependency:op3];

        [op1 addDependency:op2];

        

        //添加到队列中

        [queue addOperation:op1];

        [queue addOperation:op2];

        [queue addOperation:op3];

        [queue addOperation:op4];

     

    执行结果:

    2019-02-22 23:59:43.749883+0800 下载图片[15917:488100] 4-----------<NSThread: 0x600000e28100>{number = 3, name = (null)}

    2019-02-22 23:59:43.750367+0800 下载图片[15917:488101] 3-----------<NSThread: 0x600000e34000>{number = 4, name = (null)}

    2019-02-22 23:59:43.750513+0800 下载图片[15917:488100] 2-----------<NSThread: 0x600000e28100>{number = 3, name = (null)}

    2019-02-22 23:59:43.750654+0800 下载图片[15917:488100] 1-----------<NSThread: 0x600000e28100>{number = 3, name = (null)}

  • 相关阅读:
    最简单的界面建立
    滚动字幕的建立(事件的监听,定时器)
    【转】centOS上安装redis+phpredis2.2.4扩展
    【转】文件恢复神器extundelete
    CentOS 漏洞修补
    [转]给Linux系统管理员准备的Nmap命令的29个实用范例+ tsysv 系统服务器管理器
    [转]linux下iftop工具的安装与使用详解(图文)——实时的网络流量,监控TCP/IP连接(单机)
    [转]tripwire-文件指纹
    [转]svn提交自动同步到web服务器
    [转]CentOS_yum的详细使用方法
  • 原文地址:https://www.cnblogs.com/dashengios/p/10421376.html
Copyright © 2011-2022 走看看