jetty的NIO如何处理IO

 

jetty的NIO如何处理IO

 

Listener实例化一个(或多个)Selector。Listener不断accept新的socket。每接受一个socket,生成对应的SelectableEndPoint(该SelectableEndPoint继承了ChannelEndPoint,内部维护了与客户端通信的SocketChannel。实现了Runnable接口。),调用该endpoint的dispatch方法。如果有空闲线程,会得到一个线程处理这个请求,否则的话,将该endpoint放入到队列。

 

线程池里的线程数目是有上限的。每一个线程处理一个请求。如果处理请求的线程被阻塞,会导致新的请求可能得不到一个工作线程来服务。

 

 

 

你可能感兴趣的:(jetty)