jetty的NIO如何处理IO

jetty的NIO如何处理IO

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

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

猜你喜欢

转载自bofang.iteye.com/blog/1671135