在我們的iPhone應用程序中,我們有幾個選項卡,並選擇每個選項卡觸發網絡連接。在過去,我們只是爲每個連接分離新線程。幾個非常快速的標籤開關應用程序變得沒有反應。 現在我們決定使用應該控制線程數的操作隊列,並且不應該讓應用程序變得沒有響應。但是現在即使使用較少的快速開關,該應用程序也無響應(儘管現在它可以更快地從無響應中恢復)。 我從xcode在設備上運行應用程序,並在幾次快速切換後暫停它以查看線程數。而我發現的是,有幾個線程與以下堆棧:NSOperationQueue許多線程
0 __workq_kernreturn
2 _init_cpu_capabilities
任何想法這些線程和如何擺脫它們?
這就是爲什麼我們決定切換到NSOperationQueue(忘記線程並讓系統擔心)。實際上,我的操作並沒有使用太多的CPU,他們只是做了一個NSURLConnection(同步)並在主線程上執行回調。 – 2011-05-31 07:35:18