1
我不知道會有多少線程,如果我在我的每一個視圖控制器一個NSOperationQueue,那就是,我在我的應用程序許多NSOperationQueues。許多NSOperationQueues =多少線程?
謝謝。
我不知道會有多少線程,如果我在我的每一個視圖控制器一個NSOperationQueue,那就是,我在我的應用程序許多NSOperationQueues。許多NSOperationQueues =多少線程?
謝謝。
每NSOperationQueue
,運行時,其當前NSOperation
的執行是以一個單獨的線程。
如果您通過1
傳遞-setMaxConcurrentOperationCount:
,那麼在任何給定時間您都可以保證只有一個NSOperation
在隊列中運行。 (即串行隊列)。
否則,你的NSOperationQueue
可能有多達NSOperationQueueDefaultMaxConcurrentOperationCount
線程在任何給定的時間運行。
隊列數量,併發操作數量和系統線程使用率之間沒有嚴格的一對一關係。 NSOperationQueue是建立在GCD的頂部(如10.6和iOS),因此,會產生如由系統確定其線程使用的限制。 –
@AshleyClark我看到這對NSOperationQueue類參考文檔:注:在iOS系統中,操作隊列不使用大中央調度來執行操作。他們爲非併發操作創建單獨的線程,並從當前線程啓動併發操作。有關併發和非併發操作與執行方式之間區別的討論,請參見NSOperation類參考。 – nonamelive
@nonamelive好吧,看起來我是對的......? ;) –