BIO、NIO和AIO
2024-09-06 00:07:43
BIO(Blocking I/O)同步阻塞I/O
这是最基本与简单的I/O操作方式,其根本特性是做完一件事再去做另一件事,一件事一定要等前一件事做完,这很符合程序员传统的顺序来开发思想,因此BIO模型程序开发起来较为简单,易于把握。
NIO (New I/O) 同步非阻塞I/O
关于NIO,国内有很多技术博客将英文翻译成No-Blocking I/O,非阻塞I/O模型 ,当然这样就与BIO形成了鲜明的特性对比。NIO本身是基于事件驱动的思想来实现的,其目的就是解决BIO的大并发问题,在BIO模型中,如果需要并发处理多个I/O请求,那就需要多线程来支持,NIO使用了多路复用器机制
AIO (Asynchronous I/O) 异步非阻塞I/O
Java AIO就是Java作为对异步IO提供支持的NIO.2
AIO相对于NIO的区别在于,NIO需要使用者线程不停的轮询IO对象,来确定是否有数据准备好可以读了,而AIO则是在数据准备好之后,才会通知数据使用者,这样使用者就不需要不停地轮询了。
最新文章
- 处理ios webview 更新缓存本地css、js后webview缓存无法更新的问题
- NSURLSession/NSURLConnection的上传文件方法(已做了更新)
- OpenGl学习笔记3之模型变换、视图变换、投影变换、视口变换介绍
- cocos2d 小游戏
- VS2010编译以前版本工程时 ERROR CVT1100:duplicate resource,type:MANIFEST解决办法
- margin-top、margin-bottom的一些分析
- 如何创建应用程序包(C ++)
- no accounts with itunes connect access
- springboot 整合swagger-ui
- PAT B1033 旧键盘打字 (20 分)
- Java-Web中访问某个指定工程中的文件,报错后发现访问的文件是另一个工程里面的文件
- Spring Data Jpa 查询返回自定义对象
- 【BZOJ2217】[Poi2011]Lollipop 乱搞
- TokuDB的索引结构–分形树的实现
- Android中数据存储(三)——SQLite数据库存储数据
- 【转】C++ Incorrect Memory Usage and Corrupted Memory(模拟C++程序内存使用崩溃问题)
- 做文件上传下载时报这个错com.alibaba.fastjson.JSONException: illegal identifier : \
- Java实现HTML转换为PDF的常见方法
- ubuntu 报错 libcublas.so.8.0
- @staticmethod怎么用?