美文网首页程序员的自我修养
GCD之深入学习知识点备忘2

GCD之深入学习知识点备忘2

作者: yehkong | 来源:发表于2017-05-16 16:50 被阅读5次

继续总结和备忘:

  • dispatch_barrier_async函数
    该函数会等待追加到concurrent dispatch queue上的并行执行的处理结束之后,再将指定的处理( dispatch_barrier_async自己携带的代码块任务)追加到该concurrent dispatch queue中。然后在由dispatch_barrier_async函数追加的处理执行完毕之后,concurrent dispatch queue才恢复为一般的动作,追加到该concurrent dispatch queue的处理又开始并行执行;
    dispatch_async(queue, ^{ /*处理1*/  });
    dispatch_async(queue, ^{ /*处理2*/  });
    dispatch_async(queue, ^{ /*处理3*/  });
    dispatch_barrier_async(queue, ^{ /*处理xxx*/  });
    dispatch_async(queue, ^{ /*处理4*/  });
    dispatch_async(queue, ^{ /*处理5*/  });
    dispatch_async(queue, ^{ /*处理6*/  });

这个处理1、2、3会先并行处理完毕,接着处理xxx,xxx处理完毕之后,再接着并行处理4、5、6。

使用concurrent dispatch queue和dispatch_barrier_asyn函数可以实现高效的数据库访问和文件访问。

对应的dispatch_barrier_sync函数,跟dispatch_barrier_async的区别是:
dispatch_barrier_async将自己的任务插入到队列之后,不会等待自己的任务结束,它会继续把后面的任务插入到队列,然后等待自己的任务结束后才执行后面任务;dispatch_barrier_sync将自己的任务插入到队列的时候,需要等待自己的任务结束之后才会继续插入被写在它后面的任务,然后执行它们

  • 简单又不简单的dispatch_async和dispatch_sync
    1. async就是将指定的block任务追加到queue后,dispatch_async函数不做任何等待,继续执行当前线程后续代码。
    2. sync就是在追加指定的block后,dispatch_sync函数会一直等待,直到追加的block结束。
    3. 所以dispatch_sync函数要注意死锁。

相关文章

  • GCD之深入学习知识点备忘2

    继续总结和备忘: dispatch_barrier_async函数该函数会等待追加到concurrent disp...

  • GCD相关知识点

    GCD相关知识点 多线程技术--GCD 深入学习GCD GCD 深入理解:第一部分 GCD 深入理解:第二部分 1...

  • GCD之深入学习知识点备忘4

    dispatch semaphore1.dispatch semaphore是持有计数的信号,该计数是多线程编程中...

  • GCD之深入学习知识点备忘1

    序言:这边文章总结一些比较琐碎的知识点。 系统提供了dispatch_queue_create来生成serial ...

  • 温故而知新

    收录文章,没事的时候复习一下 Runloop 深入理解RunLoop +1 GCD 深入浅出 GCD 之 disp...

  • GCD

    iOS多线程 Swift4 GCD深入解析swift GCD 的一些高级用法GCD 之线程组(Dispatch G...

  • iOS笔记--GCD相关知识

    GCD相关知识 1.GCD(Grand Central Dispatch)教程 2.GCD 深入理解:第一部分 备...

  • GCD串行并发队列

    学习完本篇,您会对以下知识点更加理解: 队列 串行队列 并发队列 GCD全局队列 GCD主队列 创建串行队列 创建...

  • 利用GCD构建反应快,效率高的App

    本文文章来自WWDC, 学习笔记,纯属备忘利用GCD构建反应快,效率高的App WWDC https://deve...

  • 面试总结

    1.深入runtime,runloop,GCD,block.2.socket,tcp,udp,http,7层模型,...

网友评论

    本文标题:GCD之深入学习知识点备忘2

    本文链接:https://www.haomeiwen.com/subject/ilrntxtx.html