2012-06-13 43 views
0

我一直在嘗試閱讀GCD並試圖找出答案。我讀了很多地方,人們應該總是使用GCD,如果一個人做一些繁重的工作,這將凍結用戶界面,而且我也明白,但可以GCD也只是爲了性能考慮使用。假設我有一個需要運行10次的循環,每次迭代都是數據量很大。它是否會提高性能以運行其他線程的一半迭代,以便兩個線程共享工作負載,還是需要花費相同的時間才能通過循環?GCD =更好的性能不關於用戶界面?

回答

2

這將有助於運行兩個串行GDC隊列如果您的設備有兩個處理器的併發症。然而,這個想法是,你不應該關心,叫dispatch_queue_createDISPATCH_QUEUE_CONCURRENT,讓設備弄清楚什麼是任務的最佳數量並行運行。

2

這完全是你的循環邏輯的設計,沒有正確回答你的問題,因爲你還需要確定你將如何加入和合並您對這個數據進行的2種不同的處理,哪裏是數據將被保存,您將要解決的邏輯問題是什麼

不過,您試圖在兩個線程中實現的內容可能會導致您提前進行優化,因此在開始優化代碼之前,請考慮一下,如果它的價值,你會介紹給你的代碼或不