BIO、NIO、AIO区别详解

发布时间 2023-05-31 10:32:39作者: 会飞的稻草人丶

BIO:同步阻塞

主线程发起io请求后,需要等待当前io操作完成,才能继续执行。

NIO:同步非阻塞

引入selector、channel、等概念,当主线程发起io请求后,轮询的查看系统是否准备好执行io操作,没有准备好则主线程不会阻塞会继续执行,准备好主线程会阻塞等待io操作完成。

AIO:异步非阻塞

主线程发起io请求后,不会阻塞,当操作系统io操作完成后向回调函数传递结果,应用程序通过回调函数获得io操作结果。

NIO和AIO区别:NIO是io操作准备好,然后阻塞等待io完成,AIO不需要等待IO操作,io操作完成操作系统会通过回调通知主线程