• iOS依赖(线程,队列)


     依赖的作用: 在iOS开发中,我们经常会用到一个线程需要等待另一个结束才能进行的需求,这种需求其实有很实用的解决办法.下面我将列举一些目前用到的方法:

       //需求:: 用NSOpertion和NSOpertionQueue处理A,B,C,D,E三个线程,要求执行完A,B,D,E后才能执行C,怎么做?

        // 创建队列

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

        

        // 创建5个操作

        NSOperation *a = [NSBlockOperation blockOperationWithBlock:^{

            NSLog(@"operation---a");

        }];

        NSOperation *b = [NSBlockOperation blockOperationWithBlock:^{

            NSLog(@"operation---b");

        }];

        NSOperation *c = [NSBlockOperation blockOperationWithBlock:^{

            NSLog(@"**************c");

        }];

        NSOperation *d = [NSBlockOperation blockOperationWithBlock:^{

            NSLog(@"operation---d");

        }];

        NSOperation *e = [NSBlockOperation blockOperationWithBlock:^{

            NSLog(@"operation---e");

        }];

        

        // 添加依赖

        [c addDependency:a];

        [c addDependency:b];

        [c addDependency:d];

        [c addDependency:e];

        

        // 执行操作

        [queue addOperation:a];

        [queue addOperation:b];

        [queue addOperation:c];

        [queue addOperation:d];

        [queue addOperation:e];

     打印结果:

    2017-08-17 18:38:02.040 依赖[11633:750843] operation---a

    2017-08-17 18:38:02.040 依赖[11633:757610] operation---b

    2017-08-17 18:38:02.040 依赖[11633:757611] operation---d

    2017-08-17 18:38:02.040 依赖[11633:757612] operation---e

    2017-08-17 18:38:02.042 依赖[11633:757610] **************c

  • 相关阅读:
    MySQL性能优化(二):优化数据库的设计
    MySQL性能优化(一):优化方式
    PTA 07-图4 哈利·波特的考试 (25分)
    PTA 06-图3 六度空间 (30分)
    PTA 06-图2 Saving James Bond
    PTA 06-图1 列出连通集 (25分)
    PTA 05-树9 Huffman Codes (30分)
    PTA 05-树8 File Transfer (25分)
    PTA 05-树7 堆中的路径 (25分)
    PTA 04-树6 Complete Binary Search Tree (30分)
  • 原文地址:https://www.cnblogs.com/wangbinios/p/7383794.html
Copyright © 2020-2023  润新知