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來執行操作。