网络编程-同步和异步的概念
来源:互联网 发布:java趣味编程100例下载 编辑:程序博客网 时间:2024/05/17 04:38
序言
同步和异步的主要区别。
1. 同步的概念
同步就是一直等到消息或返回值后才执行其他的事情。即在等待消息的时候不做其他事情
- 比如两人约定见面,在等到对方的时候不做其他事情一直等
同步可以理解为单线程。线程请求一个方法后就等待这个方法给它回复,否则就不往下执行
同步就是调用一个函数,直到函数执行完了才返回调用函数
同步就是实时处理。比如服务器一接收客户端请求,马上响应,这样客户端在最短的时间内得到结果。但是如果多个客户端,或者一个客户端发出的请求很频繁,服务器无法同步处理,就会造成拥塞。
- 比如打电话,打电话我一定要在旁边听着,保证双方都在线
2. 异步的概念
异步就是等待消息或返回值的时候我还会做其他事情
- 比如两人约定见面,在等待对方的时候你还可以看手机、看书、打电话,而不是什么事也不做的一直等
异步可以理解为多线程。在请求一个方法后,就不管了,继续执行其他的方法
异步就是调用一个函数,函数初始化完后马上返回去做其他事情
异步是分时处理。服务器接收到客户端请求后不是立即处理,而是等到服务器比较空闲的时候再处理,可以避免拥塞
- 比如发短信,双方不用时刻保持在手机旁,也不用时刻留意手机有没有来短信,我可以看着视频,来了短信我就处理短信,也可以不处理
异步的分类
严格来说,异步有两种[1] 一种是等,但是等的过程和同步不一样,等的时候还可以做别的工作,但是程序的主线还是等待
- 请求的后期工作是在发出请求的线程上执行
[2] 另一种是回调方式,这种异步是完全不等待,程序主线发出请求后就去做别的事情了,完全不理会请求执行的如何,所以异步必然涉及两个以上线程
- 请求的后期工作可以在任何线程(通常是执行请求的线程)上完成
3. 同步/异步区别举例
比如一个文章系统,文章通常是字数非常多的,如果数据量大打开的非常慢,这个时候同步异步的处理方式是不同的
同步:
一直等到要显示的数据全部取出来
标题、作者、创建时间、关键字、点击次数、正文
全部取出
显示
实时处理,函数执行完了才返回调用函数
异步:
首先显示能够快速去除的部分
标题、作者、创建时间、关键字、点击次数
显示
然后另外一个线程等待取出文章的正文
显示
分时处理,函数初始化完就去做其他事情了,做一件事情的同时不影响做其他事情
参考文章:
http://avaj.iteye.com/blog/151724
http://blog.csdn.net/tennysonsky/article/details/45111623
2017.10.27
- 网络编程-同步和异步的概念
- 编程中同步和异步的概念
- 网络编程概念:同步、异步、阻塞和非阻塞
- 异步和同步的概念
- 同步和异步的概念
- 同步和异步的概念
- 同步和异步的概念
- 同步和异步的概念
- 同步和异步的概念
- 同步和异步的概念
- boost::asio的同步方式和异步方式网络编程
- 网络编程中的阻塞,非阻塞、同步,异步概念
- 同步和异步概念
- 网络编程中的阻塞与非阻塞,同步与异步概念的理解
- 同步和异步概念的解释
- 同步异步的概念
- 编程中的同步、异步概念
- 异步和同步概念理解
- code forces 443 A.Borya's Diagnosis(找规律)
- Gradle for Android(六)——测试
- L23 shell基础知识(一)
- qt学习笔记之qss
- Unity5使用所遇难点及解决方案(基于与unity4的比较)(二.动作对象)
- 网络编程-同步和异步的概念
- 开源实时日志分析ELK平台部署
- R语言绘制坐标 保存图片
- Android模拟IOS风格的自定义Dialog底部弹窗案例
- 指针和引用的区别
- 计算时间,指定时间的多少个月后
- 中国移动苏州研发中心前端笔试(2)
- Java
- Android事件分发机制