网络IO演变过程
1、阻塞IO(BIO)
2、非阻塞IO(NIO)
3、IO多路复用第一版(select/poll)
所有线程都在用户态和内核态复制
4、IO多路复用第二版(epoll)
只会在用户态和内核态复制有中断的线程
5、信号驱动IO
6、异步IO(AIO)
主流网络模型
1、Thrad-Based的架构模型
其实用的是BIO实现
2、Single-Reactor单线程模型
这里就用NIO了,Redis就是基于这种网络模型实现的
3、Single-Reactor线程池模型
4、Multi-Reactor多线程模型
netty就是基于这个实现的
5、Multi-Reactor多进程模型
Nginx就是基于这个实现的