同步异步&阻塞非阻塞
来源:互联网 发布:元泰茶业淘宝 编辑:程序博客网 时间:2024/06/05 02:32
同步异步(关注的是消息通信机制)
同步:调用者发出一个"调用",没得到结果之前,该"调用"不返回;一旦该"调用"返回,就得到结果。调用者主动等待"调用"的结果。
异步:调用者发出"调用"后,就立即返回,没有返回结果。当一个异步过程"调用"发出后,调用者不会立刻得到结果,而是在"调用"发出以后,由被调用者通过状态,通知来通知调用者,或者通过回调函数来处理这个"调用"。类似的框架有Node.js等。
对比:同步是做完一件事再做另一件事。而异步是同时做很多事情,某个事情有结果了再去处理(又一个新事情)
阻塞 非阻塞(关注的是程序在等待调用结果(消息,返回值)时的状态)
阻塞"调用":指的是"调用"结果返回之前,当前线程会被挂起,调用线程只有在得到结果之后才会返回。
非阻塞调用:指不能立刻得到返回结果之前,该"调用"不会阻塞当前线程。
对比:阻塞是等不到想要的结果就不走了。而非阻塞是有结果就带走,没有结果就空手而归。
Example:
水壶是被调用者,人是调用者。
同步&异步:普通水壶(同步):人等水开。响水壶(异步):水烧开了会发出响声提示人。
阻塞&非阻塞:人坐着等水开,水开了才能去做别的事情(阻塞)。人去玩等水开(非阻塞)。
通常:异步配合非阻塞,效率会高。
参考知乎的一篇文章:怎样理解阻塞非阻塞与同步异步
阅读全文
0 0
- 同步阻塞, 同步非阻塞,异步阻塞,异步非阻塞
- 同步、异步、阻塞、非阻塞
- 同步,异步,阻塞,非阻塞
- 同步 异步 阻塞 非阻塞
- 同步,异步,阻塞,非阻塞
- 阻塞,非阻塞,异步,同步
- 同步 异步 阻塞 非阻塞
- 同步 异步 阻塞 非阻塞
- 同步 异步 阻塞 非阻塞
- 同步异步 阻塞非阻塞
- 同步 异步 阻塞 非阻塞
- 同步、异步,阻塞、非阻塞
- 阻塞 非阻塞 同步 /异步
- 同步/异步 阻塞/非阻塞
- 同步 异步 阻塞 非阻塞
- 同步异步 阻塞非阻塞
- 同步 异步 阻塞 非阻塞
- 同步/异步 阻塞/非阻塞 .
- CentOS 7.2重启网络报错 Failed to start LSB: Bring up/down---liux报错
- java编程思想-----笔记(一)____万物皆对象
- 微信jssdk开发域名问题
- PBS常用命令和脚本
- gnuplot 使用时遇到的问题
- 同步异步&阻塞非阻塞
- 2、多媒体标签 embed
- IOUtil工具类--文件读取拷贝
- HoloLens开发笔记-Assembly-CSharp-firstpass.dll' could not be found。
- Android 代码性能优化建议
- xcode 添加类库时隐藏文件夹
- mybatis思维导图,让mybatis不再难懂(一)
- JS生成链接二维码
- 表单控件绑定v-model