并发编程指南这样说:
您不能自己创建并发调度队列。相反,有三个全局并发队列供您的应用程序使用。
然后GCD 参考指南这样说:
dispatch_queue_create()
在 OS X v10.7 及更高版本中,指定
DISPATCH_QUEUE_SERIAL
(或NULL
)创建串行队列或指定DISPATCH_QUEUE_CONCURRENT
创建并发队列。
这有点令人困惑;这意味着您确实可以自己创建一个并发队列;这是文档没有更新以解释当前功能的情况吗?
您链接到的文档说在 iOS 上您只能创建串行队列。在 OSX 上,您可以创建串行或并发队列。
自 iOS5 以来,这似乎已经过时了。(感谢@omz 和@Analog File)
同样重要的是要注意,即使在 10.8(Mountain Lion)上,手册页也有些过时,并且没有记录随着 API 的发展对 GCD 的所有更改。幸运的是,GCD 头文件本身中的 HeaderDoc 注释得到了积极的维护,并且仍然是权威的参考。如何使用?命令行救援!
% mkdir /tmp/gcd-docs
% headerdoc2html -o /tmp/gcd-docs /usr/include/dispatch
忽略来自 headerdoc2html 的所有可怕消息,然后,一旦完成:
% open /tmp/gcd-docs
要在 GCD 的各个“章节”上调出查找器,请使用查找器进入每个目录,然后单击您想要了解更多信息的 API 的每个类别的 Index.html 文件。这还将为每个 API 函数提供 iOS 和 OS X 的明确可用性信息。!