Grand Central Dispatch或者GCD,是一套low level API,提供了一种新的方法来进行并发程序编写。从基本功能上讲,GCD有点像NSOperationQueue,他们都允许程序将任务切分为多个单一任务然后提交至工作队列来并发地或者串行地执行。GCD比之NSOpertionQueue更底层更高效,并且它不是Cocoa框架的一部分。

在cocoa开发中,GCD与Block密不可分,本系列教程假定读者已经熟悉Block,如非可移步Block教程系列,阅读入门的两篇。

入门:

  1. *基本概念和Dispatch Queue
  2. *多核心的性能
  3. *Dispatch Sources
  4. *完结

进阶:

  1. *GCD外传:dispatch_once(上)
  2. GCD外传:dispatch_once(中)
  3. GCD外传:dispatch_once(下)

精通:

  1. 怎样逆转dispatch_once使其再次执行保护的语句
  2. 使用dispatch source实现进程同步(以及iOS平台的限制)
  3. 使用GCD时可能遇到的陷阱(pitfall)

GCD与ARC:

  1. dispatch object与ARC
  2. block与ARC
  3. GCD与ARC

实战:

  1. 使用串行队列实现简单的预加载
  2. 怎样安全地dispatch _sync任务
  3. *IO资源竞争

 

参考文献(由于网页编辑复杂,并未按照国际通用的参考文献格式标准)

  1. Apple GCD reference
  2. GCD源码来自于libdispatch官网
  3. *Mike Ash的GCD相关文章
  4. #本站Block系列教程
  5. #*本站多线程编程官方文档翻译档
  6. @kqueue wiki
  7. @mach port wiki

注:

  1. 阅读【#】标记的文献有利于顺利学习本系列教程
  2. 阅读【@】标记的文献有利于深入理解GCD相关知识
  3. 具有【*】标记的文章表示其编纂翻译自其它博客
评论模块尚未加载