最好是发送同步请求还是异步请求?最佳实践:NSURLConnection sendSynchronousRequest vs sendAsynchronousRequest
我正在向服务器发送一个请求,询问我希望用户选择的文件列表。
最好是发送同步请求还是异步请求?最佳实践:NSURLConnection sendSynchronousRequest vs sendAsynchronousRequest
我正在向服务器发送一个请求,询问我希望用户选择的文件列表。
同步请求会在任何用户操作完成之前停止应用程序,因为它在主线程中运行。
异步不像它在其他线程中运行。
您应始终使用异步请求,因为它们不会阻止从中调用它们的线程。相反,他们会在连接失败或成功时调用委托方法。如果您需要阻止用户在连接运行时执行任何操作,请使用类似MBProgressHUD的HUD类(请检查github)。
当您从主线程调用时,您希望使用异步调用。否则,整个用户界面将无响应(即:冻结),直到服务器响应。 (用户界面由主线程维护)。
您希望在从另一个线程调用时使用同步调用,并且希望它在继续之前等待,直到它有响应。如果您手动创建了一个线程,则从该新线程调用异步将创建第三个线程。
异步意味着“调用主体”不会等到任务完成。
同步请求在任何调用的线程上运行。如果您从后台线程发出同步请求,后台线程将被阻塞,直到请求完成,但不是您的主线程。 – gnasher729 2014-07-15 10:58:25