2012-03-17 92 views

回答

3

同步請求會在任何用戶操作完成之前停止應用程序,因爲它在主線程中運行。

異步不像它在其他線程中運行。

+1

同步請求在任何調用的線程上運行。如果您從後臺線程發出同步請求,後臺線程將被阻塞,直到請求完成,但不是您的主線程。 – gnasher729 2014-07-15 10:58:25

1

您應始終使用異步請求,因爲它們不會阻止從中調用它們的線程。相反,他們會在連接失敗或成功時調用委託方法。如果您需要阻止用戶在連接運行時執行任何操作,請使用類似MBProgressHUD的HUD類(請檢查github)。

0

當您從主線程調用時,您希望使用異步調用。否則,整個用戶界面將無響應(即:凍結),直到服務器響應。 (用戶界面由主線程維護)。

您希望在從另一個線程調用時使用同步調用,並且希望它在繼續之前等待,直到它有響應。如果您手動創建了一個線程,則從該新線程調用異步將創建第三個線程。


異步意味着「調用主體」不會等到任務完成。