2012-12-21 130 views
2

我很想知道多個異步NSURLConnection連接內部處理?我知道他們使用內部後臺線程來運行它,但可以說,如果在代碼中我同時創建兩個異步NSURLConnection,那麼是否會在內部創建兩個線程以在parllel中運行它們,或者第二個連接將等待第一個完成?簡單來說,請確認多個異步NSURLConnection如何實現併發?異步NSURLConnection如何內部處理

回答

0

我想這將並行運行。您可以看看有關網絡編程的WWDC會話視頻。

蘋果工程師表示,逐一處理url請求的代價很高,並行運行要合理得多。原因在於,對於處理請求,實際上大部分時間都用於延遲,而不是設備和服務器中的邏輯處理。所以,並行處理請求將有效地減少浪費時間。

所以我猜他們不會做一個接一個的異步NSURLConnection,因爲它與這個基本理論相矛盾。

此外,我試圖使用NSURLConnection下載圖像異步。我發出了一次請求。像

for (i = 1 to 4) { 
    send request i 
} 

響應也沒有按順序。

+0

非常感謝這個信息。這對我有很大的幫助。 – user1908860

0

每個異步NSURLConnection在啓動連接後都會在自己的線程上運行(必須在主線程上創建並啓動異步NSURLConnection!)以及它們在主線程上調用的委託和數據刪除方法。

+0

okie,你的意思是說每個NSURLConnection一個線程將在內部創建?那麼,是否可以同時創建異步NSURLConnection的最大限制? – user1908860

+0

我不知道:) –