zoukankan      html  css  js  c++  java
  • iOS's GCD Note

    iOS's GCD Note

     1、默认有四种全局concureent queue,如下:

      

       通过以下函数来引用:

      

     2、官方文档上并发队列有3种,实际上main就是serial。

      1)serial,用一个线程来按序取task执行。so task的顺序可以保证。

      2)concurret,用多个线程来按序取task执行。so task的顺序无法保证。

      3)main queue, 就是serial queue,只不过在主线程执行。

     3、如上,全局有4个优先级队列,默认高级别task完成后才会执行低级别task。

     4、dispatch barrier,这是一种障碍block任务,barrier会在所有在它之前提供的block运行完成后再运行,而在barrier之后提交的任务会在barrier执行完成后执行。

     5、dispatch group是一组任务,可以创建一个group,然后添加任务进group。我们可以监听一个group的任务是否完成,以及设置group完成时执行的block。

     6、dispatch_apply用于重复执行一个block指定的次数。

     7、如果在syncQueue招待dispatch_sync(syncQueue,block),会发生死锁。

      

     8、dispatch_queue_set_specific 系列函数可以为每个queue绑定数据。

  • 相关阅读:
    java实现复制网站内容
    java实现复制网站内容
    java实现递归连续数
    java实现递归连续数
    java实现递归连续数
    java实现递归连续数
    java实现递归连续数
    java实现串中找数字
    java实现串中找数字
    java实现串中找数字
  • 原文地址:https://www.cnblogs.com/tekkaman/p/3526139.html
Copyright © 2011-2022 走看看