分派队列简单笔记

dispatch_queue_t

dispatch_queue_t 是对底层线程的封装,相当于是线程的配置。用来管理 task。


实际可以被调度的队列只是四种优先级的全局队列。开发者使用 dispatch_queue_create() 自己创建的队列其实是依附在某种全局队列上面的。
全局队列是并发队列,开发者可以通过 dispatch_queue_create() 创建串行队列和并行队列。

  • 串行队列: 按照 FIFO 原则,队列抛自己的 task , 但是一次只抛一个,当处理该 task 的线程空闲后,开始抛第二个 task。

  • 并行队列: 按照 FIFO 原则,队列抛自己的 task , 但是当处理第一个线程还未空闲的时候,队列会调度另一条线程继续抛下一个 task。

  • 依附: 队列 A 依附在目标队列 B 上,就是队列 A 排在队列 B 后面。当队列 B 中 task 全部抛出去后,队列 A 开始抛自己的 task。


推荐阅读

posted @ 2017-05-10 16:18  上水的花  阅读(233)  评论(1编辑  收藏  举报