您的位置:首页 > 其它

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

2017-07-31 11:53 483 查看
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(@"我在这里!");

    });
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: