gcd多线程查看是否执行完毕dispatch_barrier_async

dispatch_barrier_async能检测到当前那几个线程执行完毕,并在该位置执行你想要的操作

    dispatch_queue_t queue = dispatch_queue_create("queue", DISPATCH_QUEUE_CONCURRENT);

    

    dispatch_async(queue, ^{

        DebugLog(@"线程1");

    });

    dispatch_async(queue, ^{

        DebugLog(@"线程2");

    });

    dispatch_barrier_async(queue, ^{

        DebugLog(@"我在这里!");

    });

    dispatch_async(queue, ^{

        DebugLog(@"线程3");

    });

    dispatch_async(queue, ^{

        DebugLog(@"线程4");

    });

    dispatch_barrier_async(queue, ^{

        DebugLog(@"我在这里!");

    });

    dispatch_async(queue, ^{

        DebugLog(@"线程5");

    });

    dispatch_barrier_async(queue, ^{

        DebugLog(@"我在这里!");

    });


你可能感兴趣的:(gcd多线程查看是否执行完毕dispatch_barrier_async)