阻塞非阻塞、同步与异步,概念理解

本文解析了计算机科学中的阻塞与非阻塞、同步与异步的概念,阐述了它们的区别及应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 网络上一个人的视频教程讲NIO,听他讲到阻塞非阻塞、同步与异步的概念的时候,都听晕掉了。。。

从其它网络地方看下别人的解释比这个老师讲的是清楚的

下面是我的理解:

这四个概念是计算机里面的,所以不一定非得用生活中的场景进行类比,反而听的糊涂。

阻塞非阻塞:是对调用者的行为进行的描述,当对一次调用的描述是:当希望的结果没有准备好时,函数不返回,则这次调用对于调用者而言就是阻塞式调用,对调用者的影响是等待,等待希望的结果返回;当对一次调用的描述是:当希望的结果没有准备好时,函数也可以返回,则这次调用对于调用者而言就是非阻塞式调用,对调用者的影响是必须通过某种机制可以正确的收到希望的结果、回调函数或者轮询调用或者其它。。。

同步与异步:这两个概念更多的是对通信过程的描述,相互通信的两方,a和b:当a向b发出第一个信息,在a向b发送第二个消息之前必须收到b对第一个信息的回应,则这次通信是同步;相对应的,当a向b发出第一个信息,并且不必等待b的回应就可以发出第二个信息,则这次通信是异同的。

结合这两段可以得出:阻塞非阻塞是对调用者而言,同步与异步是对整个通信过程而言,阻塞的调用一定是同步的,因为第一次调用之后,必须收到返回结果才能发起第二次调用,非阻塞的调用可以是同步的与可以是异步的,因为它可以在没有收到第一次调用希望的结果之前发起第二次调用,同步的通信不能决定调用方是阻塞还是非阻塞,因为非阻塞的调用方式也能完成同步的通信模式,异步的通信方式一定不能使用阻塞的发送者,因为当其发完第一个信息,没有收到回复之前无法发送第二个信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值