BIO:同步阻塞IO模型;
- NIO:基于IO多路复用技术的“非阻塞同步”IO模型。简单来说,内核将可读可写事件通知应用,由应用主动发起读写操作;
- AIO:非阻塞异步IO模型。简单来说,内核将读完成事件通知应用,读操作由内核完成,应用只需操作数据即可;应用做异步写操作时立即返回,内核会进行写操作排队并执行写操作。
NIO和AIO不同之处在于应用是否进行真正的读写操作。
reactor和proactor模型
- reactor:基于NIO技术,可读可写时通知应用;
- proactor:基于AIO技术,读完成时通知应用,写操作应用通知内核。