2012-03-17 99 views

回答

3

同步请求会在任何用户操作完成之前停止应用程序,因为它在主线程中运行。

异步不像它在其他线程中运行。

+1

同步请求在任何调用的线程上运行。如果您从后台线程发出同步请求,后台线程将被阻塞,直到请求完成,但不是您的主线程。 – gnasher729 2014-07-15 10:58:25

1

您应始终使用异步请求,因为它们不会阻止从中调用它们的线程。相反,他们会在连接失败或成功时调用委托方法。如果您需要阻止用户在连接运行时执行任何操作,请使用类似MBProgressHUD的HUD类(请检查github)。

0

当您从主线程调用时,您希望使用异步调用。否则,整个用户界面将无响应(即:冻结),直到服务器响应。 (用户界面由主线程维护)。

您希望在从另一个线程调用时使用同步调用,并且希望它在继续之前等待,直到它有响应。如果您手动创建了一个线程,则从该新线程调用异步将创建第三个线程。


异步意味着“调用主体”不会等到任务完成。