zoukankan      html  css  js  c++  java
  • GCD

        dispatch_queue_t concurrentQueue = dispatch_queue_create("my.concurrent.queue", DISPATCH_QUEUE_CONCURRENT);
        dispatch_async(concurrentQueue, ^(){
            NSLog(@"dispatch-1");
        });
        dispatch_async(concurrentQueue, ^(){
            NSLog(@"dispatch-2");
        });
        dispatch_barrier_async(concurrentQueue, ^(){
            NSLog(@"dispatch-barrier"); 
        });
        dispatch_async(concurrentQueue, ^(){
            NSLog(@"dispatch-3");
        });
        dispatch_async(concurrentQueue, ^(){
            NSLog(@"dispatch-4");
        });
    复制代码
    dispatch_barrier_async 作用是在并行队列中,等待前面两个操作并行操作完成,这里是并行输出
    dispatch-1,dispatch-2
    然后执行
    dispatch_barrier_async中的操作,(现在就只会执行这一个操作)执行完成后,即输出
    "dispatch-barrier,
    最后该并行队列恢复原有执行状态,继续并行执行
    dispatch-3,dispatch-4
    1
  • 相关阅读:
    RIP 动态路由
    9.28 二叉树计数
    9.31 取数理论
    花园
    迟滞变化
    AutoHotkey之自问自答
    几种常见的滤波处理
    快速排序(Quicksort)
    浅谈VBA
    新的开始
  • 原文地址:https://www.cnblogs.com/fantasy3588/p/5506247.html
Copyright © 2011-2022 走看看