关于并发队列创建的Apple文档中的GCD差异

时间:2012-08-11 09:23:08

标签: cocoa-touch grand-central-dispatch

The Concurrency Programming Guide说:

  

您无法自己创建并发调度队列。相反,您的应用程序有三个全局并发队列可供使用。

然后GCD Reference Guide说:

dispatch_queue_create()
     

在OS X v10.7及更高版本中,指定DISPATCH_QUEUE_SERIAL(或NULL)以创建串行队列,或指定指定DISPATCH_QUEUE_CONCURRENT以创建并发队列。

这有点令人困惑;它意味着你自己确实可以创建一个并发队列;这是一个文档没有更新来解释当前的功能吗?

2 个答案:

答案 0 :(得分:1)

您链接到的文档说,在iOS上,您只能创建串行队列。在OSX上,您可以创建串行或并发队列。

这似乎是自iOS5以来过时的.. (感谢@omz和@Analog文件)

答案 1 :(得分:0)

同样重要的是要注意,即使在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的各个“章节”上显示取景器,使用Finder下载到每个目录,然后单击要获得更多信息的API的每个类别的Index.html文件。这还将为每个API函数提供iOS和OS X的确定可用性信息。 HTH!