Connector start方法窥探

start @ Connector

protocolHandler.start();

start @ protocolHandler

 Http11NioProtocol的start方法在 AbstractProtocol里,其调用了endPoint的start方法。

start @ NioEndpoint

 在Connector的init方法调用后,已经创建了ServerSocket并绑定了端口。

配置最大连接数(代码里写了10000的默认值)。

启动接收请求线程Acceptor。

在Acceptor的run方法里,在接收到一个Socket后,在对连接数进行处理后,会调用NioEndpoint的setSocketOptions方法,在该方法里,会将socket注册到Poller上,亦即添加到events队列里。

private final SynchronizedQueue<PollerEvent> events =
                new SynchronizedQueue<>();

对待Poller线程对其进行处理。

猜你喜欢

转载自www.cnblogs.com/Logan12138/p/12003965.html