BIO、NIO、AIO区别详解
BIO:同步阻塞
主线程发起io请求后,需要等待当前io操作完成,才能继续执行。
NIO:同步非阻塞
引入selector、channel、等概念,当主线程发起io请求后,轮询的查看系统是否准备好执行io操作,没有准备好则主线程不会阻塞会继续执行,准备好主线程会阻塞等待io操作完成。
AIO:异步非阻塞
主线程发起io请求后,不会阻塞,当操作系统io操作完成后向回调函数传递结果,应用程序通过回调函数获得io操作结果。
NIO和AIO区别:NIO是io操作准备好,然后阻塞等待io完成,AIO不需要等待IO操作,io操作完成操作系统会通过回调通知主线程