3

由于NSOperationQueue类参考说: 在iOS中,操作队列不使用Grand Central Dispatch来执行操作。他们为非并发操作创建单独的线程,并从当前线程启动并发操作。NSOperationQueue和并发操作

但我发现在iOS 4.2.1中,队列总是为并发或非并发操作创建线程。我认为队列根本不关心并发或不并发,因为isConcurrent中的断点永远不会被破坏。所以我认为参考是错误的...

回答

2

如果你看看NSOperation的文档,你应该看到一个关于Mac 10.6(大致对应于iOS 4.0)的说明忽略isConcurrent。

基本上,创建并发NSOperation的唯一原因是如果你打算手动启动它。

0

NSOperationQueue确实使用GCD。从the documentation

在iOS 4及更高版本中,操作队列使用Grand Central Dispatch来执行操作。