同步线程和异步线程的区别 概念 1:同步可以看做是一个单线程操作,只要客户端请求了,在服务器没有反馈信息之前是一个线程阻塞状态(就是假死状态,不能操作其他方法)。 2:异步肯定是个多线程。在客户端请求时,可以执行其他线程,并且在把这个线程存放在他的队列里面,有序的执行。(可以设置线程的数量,当超过最大时会显示等待状态)。 线程同步与异步区别 线程同步是多个线程同时访问同一资源,等待资源访问结束,浪费时间,效率低 线程异步:访问资源时在空闲等待时同时访问其他资源,实现多线程机制 异步处理就是,你现在问我问题,我可以不回答你,等我用时间了再处理你这个问题.同步不就反之了,同步信息被立即处理 – 直到信息处理完成才返回消息句柄;异步信息收到后将在后台处理一段时间 – 而早在信息处理结束前就返回消息句柄 简单来说:同步必须执行到底之后才能执行其他操作,而异步可以任意操作 区别:同步比异步实现起来简单一些,用于读取数据量较小的接口。 下面是同步,异步实现的方法 (从网上复制的) 同步意为着线程阻塞,在主线程中使用此方法会不响应任何用户事件。所以,在应用程序设计时,大多被用在专门的子线程增加用户体验,或用异步请求代替。 (IBAction)grabURL:(id)sender { NSURL *url = [NSURL URLWithString:@“http://allseeing-i.com”]; ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url]; [request startSynchronous]; NSError *error = [request error]; if (!error) { NSString *response = [request responseString]; } } 用 requestWithURL 快捷方法 ASIHTTPRequest 的一个实例 startSynchronous 方法启动同步访问 由于是同步请求,没有基于事件的回调方法,所以从 request的error 属性错误信息 responseString,为请求的返回 NSString 信息 * 注意:在这里我发现NsUrlRequset和connect系统Api就可以配合做到效果。也不需要到移植开源代码 异步请求的好处是不阻塞当前线程,但相对于同步请求略为复杂,至少要添加两个回调方法来异步事件 声明:本文纯粹是粘贴的,因为看原文文字背景颜色晃眼睛,所以就自己粘一份 版权声明:本文为CSDN博主「奋斗ing中」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/u0/article/details/
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/43531.html