阻塞非阻塞与同步异步的区别
来源:互联网 发布:宁化老鼠干 知乎 编辑:程序博客网 时间:2024/06/11 11:29
同步与异步:同步异步关注的是消息通信机制。如果调用方等待,直到调用方返回,就叫同步,反之,调用发出后直接返回就叫异步。异步情况下,被调用者会通过通知或者回调的方式处理这个调用。
阻塞与非阻塞:阻塞与非阻塞关注的是程序在等待调用结果(消息、返回值)时的状态。阻塞调用是指调用结果返回之前,当前线程会被挂起。调用线程只有在得到结果之后才会返回。非阻塞调用指在不能立刻得到结果之前,该调用不阻塞当前线程。
由于同步情况下容易出现阻塞,异步情况下通常是不阻塞的,所以这两个概念很容易混淆。下面举一个具体例子说明:
例子:你打电话给你一个朋友,让对方帮忙买个火车票。
同步阻塞:你一直等待,直到你朋友买完火车票。
同步非阻塞:在等待朋友买票过程中,你还腾出时间干了别的事情,比如刷了牙,洗了脸。期间未挂断电话,你每隔一段时间,询问对方完成情况,直至买票成功。
异步阻塞:你打完电话,挂断,就什么也不干,只会干等,直到你朋友来电通知你买到票了。这种情况其实很容易避免。
异步非阻塞:你对你的朋友很有信心,打完电话就去干其他事情了,一会朋友来电买到票了。
阻塞与非阻塞:阻塞与非阻塞关注的是程序在等待调用结果(消息、返回值)时的状态。阻塞调用是指调用结果返回之前,当前线程会被挂起。调用线程只有在得到结果之后才会返回。非阻塞调用指在不能立刻得到结果之前,该调用不阻塞当前线程。
由于同步情况下容易出现阻塞,异步情况下通常是不阻塞的,所以这两个概念很容易混淆。下面举一个具体例子说明:
例子:你打电话给你一个朋友,让对方帮忙买个火车票。
同步阻塞:你一直等待,直到你朋友买完火车票。
同步非阻塞:在等待朋友买票过程中,你还腾出时间干了别的事情,比如刷了牙,洗了脸。期间未挂断电话,你每隔一段时间,询问对方完成情况,直至买票成功。
异步阻塞:你打完电话,挂断,就什么也不干,只会干等,直到你朋友来电通知你买到票了。这种情况其实很容易避免。
异步非阻塞:你对你的朋友很有信心,打完电话就去干其他事情了,一会朋友来电买到票了。
阅读全文
0 0
- 同步异步与阻塞非阻塞区别
- socket阻塞与非阻塞,同步与异步的区别
- 同步与阻塞,异步与非阻塞的区别
- 同步与异步、阻塞与非阻塞的区别
- 同步、异步与阻塞、非阻塞的区别与联系
- 同步 异步 阻塞 非阻塞的区别
- 同步 异步 阻塞 非阻塞的区别
- 同步,异步,阻塞,非阻塞的区别
- 同步,异步,阻塞,非阻塞的区别
- 阻塞非阻塞、同步异步的区别
- 【同步、异步、阻塞、非阻塞】的区别
- 同步,异步,阻塞,非阻塞的区别
- 同步异步,阻塞非阻塞的区别
- 同步/异步与阻塞/非阻塞的区别(转)
- 同步/异步与阻塞/非阻塞的区别
- 同步/异步与阻塞/非阻塞的区别
- 同步/异步与阻塞/非阻塞的区别
- 同步/异步与阻塞/非阻塞的区别
- Android 监听NavigationBar
- UML类图学习
- 微信小程序开发一入门开发标记语言基础组件
- C++编程习惯
- 【Android training】保存数据
- 阻塞非阻塞与同步异步的区别
- switch语句实现成绩转换
- AGC 014
- 链表(一)
- 数据结构与算法分析——第三章 表、栈和队列1
- 【iOS 开发】Status Bar 状态栏设置汇总
- linux基础(十二)网络基本配置
- 动态代理
- 学术资源汇总