NIO、BIO、AIO的区别与NIO的应用及框架选择
发布时间
阅读量:
阅读量

AIO、BIO、NIO的区别
IO模型主要分类:
- 同步型 I/O 和 异步型 I/O
- 阻塞型 I/O 和 非阻塞型 I/O
- 同步 blocked I/O 简称为 BIO.
- 同步 non-blocked I/O 简称为 NIO.
- 异步 non-blocked I/O 简称为 AIO.
1.BIO (同步阻塞I/O模式)
数据的读取写入必须阻塞在一个线程内等待其完成。
以经典的烧开水为例,在假设有一个烧开水的场景下,请考虑一款特定的水壶用于持续性烧水操作。BIO的工作机制是通过以下方式实现:每当该款水壶达到沸腾状态时,则会切换到处理下一个任务的状态;然而,在实际操作中,在线等待同一款水壶烧开的过程中,并没有执行任何操作。
2.NIO(同步非阻塞)
虽然支持阻塞与非阻塞模式,在本例中我们采用同步的非阻塞I/O方式进行阐述。那么如何定义同步的非阻塞?例如以烧水为例,在这种情况下NIO机制运作的方式是:程序会持续检查每个水壶的状态,并根据状态的变化动态调整下一步的操作步骤。
**3.AIO (异步
全部评论 (0)
还没有任何评论哟~
