java nio学习之(一)简述

本文深入解析Java NIO的特性,对比传统BIO,探讨非阻塞式同步IO的工作原理,并通过生动例子阐述同步阻塞、同步非阻塞及异步非阻塞的区别。

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

java nio是jdk1.4新增加的特性,之前的io成为bio,是阻塞式同步io -- blocking,他是面向流的,而nio 意思是非阻塞式同步io -- non-blocking IO 是面向通道channel和缓冲区buffer的。

当然,很多同学也听说过aio 意思是非阻塞异步io --  Asynchronous io ,那么bio,nio,aio他们在模型上有什么区别呢?

我在这里主要想介绍下同步阻塞,同步非阻塞,异步非阻塞之间的区别;

从前听说过一个有意思的例子,他是这么说的:

假设小王去饭店吃饭,

①点完菜,他一直在柜台等厨师做好饭再去回到座位上,这叫同步阻塞;

②点完菜,他回到座位上,玩手机,过一会儿就去柜台,看看厨师是不是做好了饭,这叫同步非阻塞;

③点完菜,他回到座位上,玩手机,等厨师做好了饭给他发微信叫他去取,这叫异步非阻塞。

同步或者异步,是对io事件来说的,阻塞非阻塞式对于执行线程来说的。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值