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

来源:互联网 发布:商为开店软件 编辑:程序博客网 时间:2024/05/25 18:11

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(@"我在这里!");

    });


原创粉丝点击