Advertisement

NIO、BIO、AIO的区别与NIO的应用及框架选择

阅读量:
file
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)

还没有任何评论哟~