所以任務如下: 1)我有一個track ID,我需要問服務器所有的track數據 2)解析響應(這裏我也有一個相冊ID) 3)現在我有一個相冊ID,我需要問服務器所有的相冊數據 4)解析響應(這裏我也有一個藝術家ID) 5)現在我有一個藝術家ID,我需要問所有藝術家數據的服務器gcd的一堆請求
我想知道用gcd做這件事的正確方法是什麼。 dispatch_async中有3個dispatch_sync-s? 我想這一切都是一個操作,在後臺運行,所以起初我想到NSOperation,但所有回調,解析,保存到核心數據都需要在後臺線程上發生,所以我必須創建一個單獨的運行循環回調以確保它在我得到響應之前不會被殺死,並且不會阻塞ui。
所以問題是我應該如何在這裏使用gcd,還是更好地使用nsoperation和runloop線程回調?謝謝
GCD不保證單個後臺線程操作。 GCD隊列只是執行操作的列表,而不是執行它們的線程。它會將任務劃分爲多個線程,因爲它認爲合適。 – borrrden 2012-04-10 07:57:47