BIO NIO AIO 介绍与差别

个人介绍: 怠惰的程序员,致力于提供有效且完整的资料
所以资料经过真实测试,欢迎各位沟通讨论,如有问题请留言评论区。
对于问题博主会勤勉的进行验证和修改文章。

一、总结

1 bio,nio,aio 区别介绍
1)bio 同步阻塞 数据写入内核cache 时线程等待。从内核cache 写入内核时,线程也等待。
2)nio 同步非阻塞 写入内核cache线程挂起等待,从内核cache 写入内核时,线程执行其他操作。
3)aio 异步非阻塞

2 适用场景
1)BIO方式适用于连接数目比较小且固定的架构,这种方式对服务器资源要求比较高,并发局限于应用中,JDK1.4以前的唯一选择,但程序直观简单易理解。
2)NIO方式适用于连接数目多且连接比较短(轻操作)的架构,比如聊天服务器,并发局限于应用中,编程比较复杂,JDK1.4开始支持。
3)AIO方式使用于连接数目多且连接比较长(重操作)的架构,比如相册服务器,充分调用OS参与并发操作,编程比较复杂,JDK7开始支持。

二、io 阻塞与非阻塞 异步与同步简介

1)阻塞与非阻塞 发生在数据进入BufferCache 或者Page Cache
2) 异步与同步发生在 数据写入内核,数据写入到内存
3)异步非阻塞 从内核到用户内存 数据都准备好,cpu直接读写

三、IO执行过程图

IO执行过程 会经过BufferCache 或者Page Cache

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值