理解异步,同步,阻塞,非阻塞之间的关系

17 篇文章 0 订阅
7 篇文章 0 订阅

在学习nodejs时应该会说 nodejs是 异步非阻塞i/o而以前却并不了解这句话的意思 今天要梳理一下这些概念

首先 同步与异步
同步于异步关注的是消息通信机制 (synchronous communication/ asynchronous communication)。
同步:调用者等待被调用者的返回值之后,调用者才继续工作
异步:调用者调用之后被调用者马上返回,但是这里是没有返回结果的,这时候调用者可以进行其他操作,而对于被调用者的返回值则要通过通知调用者或者回调函数来处理

阻塞与非阻塞
关注的是程序在等待调用结果时,调用者所处的状态
阻塞:当被调用者被调用时,调用者被“挂起”,直到返回结果。
非阻塞:当被调用者被调用时,不会阻塞调用者自己。

举个例子 王大爷烧水
王大爷在厨房烧水,从他把水壶放到灶台上开始,他就开始在灶台边上等啊等,直到到水开了。
– 王大爷等水,同步, 王大爷等水的时候不干别的事,阻塞

王大爷觉得这样不好,然后买了个会响的水壶,然后他把水壶放到灶台上,随后他看电视去了,并告诉他老婆张大娘,水开了就去泡茶,然后自己看电视去了
-王大爷放完水壶以后水壶没有马上有结果 ,异步 ,水在烧的时候王大爷在看电视,非阻塞,张大娘泡茶,回调函数

这样一些就清晰多了
感谢这些文章
知乎-怎样理解阻塞非阻塞与同步异步的区别
使用异步 I/O 大大提高应用程序的性能

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值