併發編程指南(PDF版)的第37和39頁似乎是相矛盾的。在37頁,代碼片段指定以下內容:調用detachNewThreadSelector:target:object:vs dispatch_async()
if (![anOp isConcurrent])
[anOp start];
else
[NSThread detachNewThreadSelector:@selector(start) toTarget:anOp withObject:nil];
這看起來不錯,但在第39頁的文件中指出:
您可以使用調度隊列幾乎執行所有的任務是 你曾經在單獨的線程上執行。調度 隊列的優點是它們更易於使用,並且在執行那些任務時比相應的線程代碼更有效。
因此,而不是調用detachNewThreadSelector:target:object:,爲什麼不調用dispatch_async()代碼?
從iOS 4開始,NSOperationQueue使用GCD。 [NSOperationQueue類參考](http://developer.apple.com/library/ios/#documentation/Cocoa/Reference/NSOperationQueue_class/Reference/Reference.html) – titusmagnus
我糾正了,謝謝titusmagnus – geminiCoder