[英]Major slowdown using NSInvocationOperation (NSOperation) with NSOperationQueue on iOS 4 (iPhone)
[英]Problem about using NSOperationQueue and NSOperation in iphone OS
我正在使用NSOperation來執行任務:使用NSURLConnection下載一些文件,然后合並花費大量CPU和內存的文件
我需要在新/后台線程中執行該任務
所以我將這些任務添加到NSOperationQueue並設置maxConcurrentOperationCount = 2
但是結果是合並文件時它將阻塞主線程(UI暫時不響應),在新線程/后台線程中似乎沒有執行權限
如何按照我的預期去做?
由於您使用的是NSOperationqueue,因此一次只能擁有兩個文件,並且由於所有其他線程或文件均不存在,因此只能合並它們。
因此,要將它們合並在一起,您必須將它們保持在一起。
您要在NSOperationQueue中進行什么類型的操作? Apple的NSOperationQueue文檔包括以下注釋:
注意:在iOS中,操作隊列不使用Grand Central Dispatch來執行操作。 它們為非並發操作創建單獨的線程,並從當前線程啟動並發操作。 有關並行操作和非並行操作之間的區別以及如何執行的討論,請參見《 NSOperation類參考》。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.