IO多路复用
多路指的是多个不同的tcp连接;
复用指一个线程可以维护多个不同的io操作。
好处:占用cpu资源非常小、保证线程安全问题
在多路复用IO模型中,会有一个线程(Java中的Selector)不断去轮询多个socket的状态,
只有当socket真正有读写事件时,才真正调用实际的IO读写操作。因为在多路复用IO模型中,
只需要使用一个线程就可以管理多个socket,系统不需要建立新的进程或者线程,
也不必维护这些线程和进程,并且只有在真正有socket读写事件进行时,
才会使用IO资源,所以它大大减少了资源占用。
个客户端发起连接请求都会交给acceptor,acceptor根据事件类型交给线程handler处理,注意acceptor 处理和 handler 处理都在一个线程中处理.