zoukankan      html  css  js  c++  java
  • NSOperation 实现多任务执行完毕,再执行下一个任务

     //任务1 中的任务都执行完了才执行第二个任务 和队列组    dispatch_group_t group = dispatch_group_create(); 相似的功能
        
        NSBlockOperation *block = [NSBlockOperation blockOperationWithBlock:^{
            
            dispatch_queue_t queue = dispatch_queue_create("11", DISPATCH_QUEUE_CONCURRENT);
            
           dispatch_async(queue, ^{
               NSLog(@"1");
           });
            dispatch_async(queue, ^{
                NSLog(@"2");
            });
            dispatch_async(queue, ^{
                NSLog(@"3");
            });
        }];
        //任务2
        NSBlockOperation *block2 = [NSBlockOperation blockOperationWithBlock:^{
            NSLog(@"终于可以进行4了");
        }];
        
        //添加依赖 等block执行完了 ,才执行block2
        [block2 addDependency:block];
        
        NSOperationQueue *operationQueue = [[NSOperationQueue alloc] init];
        operationQueue.maxConcurrentOperationCount = 1;
        [operationQueue addOperations:@[block2, block] waitUntilFinished:NO];
  • 相关阅读:
    2017年第八届蓝桥杯C/C++ C组国赛 —— 第一题:哥德巴赫分解
    Tree Walk Aizu
    Tree Walk Aizu
    Binary Trees Aizu
    有效的括号
    划分整数
    最大子矩阵和
    最大子段和
    最长上升子序列
    合唱队形
  • 原文地址:https://www.cnblogs.com/arenouba/p/5466503.html
Copyright © 2011-2022 走看看