BIO和NIO的区别

本文探讨了BIO(阻塞IO)与NIO(非阻塞IO)这两种同步操作方式的区别与联系。BIO在多线程进行IO操作时会阻塞等待,而NIO则采用内存缓冲区,通过轮询机制判断IO是否就绪,从而实现非阻塞的效果。

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

BIO(Blocking IO)阻塞IO 

NIO(Non-Blocking IO)非阻塞IO

 

共同点:两者都是同步操作。即必须先进行IO操作后才能进行下一步操作。

 

不同点:BIO多线程对某资源进行IO操作时会出现阻塞,即一个线程进行IO操作完才会通知另外的IO操作线程,必须等待。

NIO多线程对某资源进行IO操作时会把资源先操作至内存缓冲区。然后询问是否IO操作就绪,是则进行IO操作,否则进行下一步操作,然后不断的轮询是否IO操作就绪,直到iIO操作就绪后进行相关操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值