1.Init接口实现方法中阻塞方式启动ServerSocketChannel
2. Start接口实现方法中启动所有线程
Start方法中启动了线程池,acceptor线程与Poller线程。其中acceptor与poller线程一般数目为1,当然,数目也可配置。
可以看出,线程池有两种实现方式:①普通queue + wait + notify方式,默认使用的方式,据说实际测试这种比下种效率高;②JDK1.5自带的线程池方式。
3. Acceptor线程接收客户请求、注册READ事件
在Acceptor线程中接收了客户请求,同时委托线程池注册READ事件。
①在Acceptior线程中接收了客户请求(serverSock.accept())
②委托线程池处理
③在线程池的Worker线程的run方法中有这么几句: