BIO: blocking IO, 同步阻塞I/O模式,数据的读取写入必须阻塞在一个线程内等待其完成。这里假设一个烧开水的场景,有一排水壶在烧开水,BIO的工作模式就是, 叫一个线程停留在一个水壶那,直到这个水壶烧开,才去处理下一个水壶。但是实际上线程在等待水壶烧开的时间段什么都没有做。
NIO: blocking IO, 同步非阻塞I/O模式,NIO的做法是叫一个线程不断的轮询每个水壶的状态,看看是否有水壶的状态发生了改变,从而进行下一步的操作
AIO: blocking IO, 异步非阻塞I/O模式,无需一个线程去轮询所有IO操作的状态改变,在相应的状态改变后,系统会通知对应的线程来处理。对应到烧开水中就是,为每个水壶上面装了一个开关,水烧开之后,水壶会自动通知我水烧开了。
BIO、NIO、AIO
最新推荐文章于 2022-03-08 13:33:18 发布
本文通过烧开水的场景,生动解释了BIO、NIO和AIO三种I/O模式的区别。BIO是同步阻塞,线程一对一等待;NIO是同步非阻塞,线程轮询检查状态;AIO则是异步非阻塞,系统自动通知线程处理。理解这些模式对于优化系统性能至关重要。
摘要由CSDN通过智能技术生成