bio/nio/aio的区别

本文通过实例解释了同步与异步、阻塞与非阻塞的区别。同步关注结果获取方式,异步则由操作系统回调通知。阻塞与非阻塞关注数据准备时的等待行为。例如,BIO是等待数据完成,NIO允许做其他事并轮询检查,AIO则完全由操作系统完成并回调。
摘要由CSDN通过智能技术生成

 bio:同步阻塞

 nio:同步非阻塞

 aio:异步非阻塞

  这里面主要是理解同步与阻塞是什么意思

  同步/异步指的是应用程序需要阻塞住,通过轮询或事件监听的方式来主动的获取结果。而异步则是操作系统有数据了之后直接调用我们应用程序提供的回调函数来处理。

  阻塞与非阻塞指的是我们在读写的时候是否需要等数据准备好了才开始处理下面的过程。

这里举一个例子来说明它们三者之间有什么区别

bio:我到一个餐馆去点了一个盖浇饭,然后坐下来等着老板做好。

nio:我到一个餐馆去点了一个盖浇饭,然后去做其他事情了,过了一会儿我问老板好了没,如果好了,我拿走,没做好我就再去做其他事情,过会儿再来,直到最后我拿到了饭

aio: 我到一个餐馆点了一个菜,然后告诉他我在附近的地址,让他做好了后送到我家,我就直接回家了。

       通过上面举的例子是为了说明同步和异步的重点在于结果是我自己去拿的还是别人有结果了送给我的,而阻塞和非阻塞是在数据没准备好的时候,我是否要等待数据准备好。

      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值