GCD栅栏函数

2018-06-22  本文已影响11人  aven_kang

 // 栅栏函数在下面方法是不生效的.

   // dispatch_queue_t queen = dispatch_get_global_queue(0, 0);

    // 如果使用栅栏函数,不能使用全局队列,要使用创建队列的方式

    dispatch_queue_t queen = dispatch_queue_create("download", DISPATCH_QUEUE_CONCURRENT);

    dispatch_async(queen, ^{

        NSLog(@"queen1-%@",[NSThread currentThread]);

    });

    dispatch_async(queen, ^{

        NSLog(@"queen2-%@",[NSThread currentThread]);

    });

    dispatch_barrier_sync(queen, ^{

        NSLog(@"+++++++++++++++++++");

    });

    dispatch_async(queen, ^{

        NSLog(@"queen3-%@",[NSThread currentThread]);

    });

图一

如图一的打印结果,queen3是在前两个执行完毕之后才执行的.

上一篇 下一篇

猜你喜欢

热点阅读