概念
1:同步可以看做是一个单线程操作,只要客户端请求了,在服务器没有反馈信息之前是一个线程阻塞状态(就是假死状态,不能操作其他方法)。
2:异步肯定是个多线程。在客户端请求时,可以执行其他线程,并且在把这个线程存放在他的队列里面,有序的执行。(可以设置线程的数量,当超过最大时会显示等待状态)。
简单来说:同步必须执行到底之后才能执行其他操作,而异步可以任意操作
区别:同步比异步实现起来简单一些,用于读取数据量较小的接口。
异步可以按规定顺序去执行线程,多用于 比如一个网页信息 ,(你把他分成2个线程或者多个,先读取它的title,时间,作者等等 第二个或者其他进程用于读取数据量较大的正文内容,比如图片)。这样对于用户体验很有效果。
下面是同步,异步实现的方法 (从网上复制的)
1. 同步意为着线程阻塞,在主线程中使用此方法会不响应任何用户事件。所以,在应用程序设计时,大多被用在专门的子线程增加用户体验,或用异步请求代替。
- (IBAction)grabURL:(id)sender {
NSURL *url = [NSURL URLWithString:@"http://allseeing-i.com"];

同步和异步主要涉及线程执行方式。同步在单线程中执行,可能导致阻塞,适合小数据量接口;异步多线程执行,不阻塞,常用于改善用户体验。异步请求常用方法包括设置代理和请求队列,后者能控制并发数和顺序执行。
最低0.47元/天 解锁文章
169万+

被折叠的 条评论
为什么被折叠?



