参考答案
结论:网络IO流程:创建socket、bind、listen、accept、recv/send,涉及内核态用户态拷贝;IO模型分阻塞、非阻塞、多路复用、异步。Reactor是事件驱动模式,基于同步IO多路复用如epoll。原理:主线程注册事件到多路复用器,epoll_wait获取就绪事件并分发回调函数处理;对比Proactor,Reactor就绪后由用户线程读写(同步),Proactor内核完成IO后通知(异步)。要点:单Reactor单线程、多线程、多Reactor多线程;Netty、Redis采用此模式提升并发。