mainstarttomcatmaven:https://mvnrepository.com/art...start:endpoint非阻塞模式:publicclassHttp11NioProtocolextendsAbstractHttp11JsseProtocol{publicHttp11NioProtocol(){super(newNioEndpoint());}}异步模式:publicclassHttp11Nio2ProtocolextendsAbstractHttp11JsseProtocol{publicHttp11Nio2Protocol(){super(newNio2Endpoint());}}流程分析1.指定Protocol,初始化对应的Endpoint,然后是NioEndpoint;2.init进程:在NioEndpoint中做bind操作;3.启动进程:启动worker线程池,默认启动1个Acceptor和2个Poller,可配置;4、Acceptor获得新连接后,getPoller0()获得其中一个Poller,然后注册到Poller;5、poller循环selector.select(*),如果有channel可读,则放入processKey中的worker线程池。线程模型