2010-11-08 23 views
0

進出口使用NSOperationQueue和的NSOperation:下載使用NSURLConnection的一些文件,然後合併該花多少CPU和內存文件
我需要EXCUTE在新/後臺線程任務
所以,我想補充一些任務NSOperationQueue並設置maxConcurrentOperationCount = 2
但結果是合併文件時,它會阻止主線程(UI沒一會兒響應) ,似乎不是在新/後臺線程excuting
如何讓它如我所願?問題有關使用的NSOperation做任務的iPhone OS

回答

1

你把什麼類型的操作放在NSOperationQueue中?蘋果公司的NSOperationQueue文件包括這樣一個字條:

注:在iOS系統中,運行隊列不會 使用大中央調度執行 操作。他們爲非併發操作創建單獨的 線程 並從當前線程啓動 併發操作。有關併發 與非併發操作之間差異的討論 以及如何執行 ,請參見NSOperation類參考。

+0

我把併發操作放在NSOperationQueue中,並在每個操作中啓動後臺線程來合併具有performSelectorInBackground方法的文件,但它仍然在合併文件時阻塞UI – bandw 2010-11-10 02:53:36

1

由於您使用NSOperationqueue,因此您一次只有兩個文件,並且只能合併它們,因爲所有其他線程或文件都不存在。

因此,爲了將它們合併在一起,您必須一次性將它們放在一起。