来了一个http请求,tomcat从线程池取出一个线程A去处理请求,如果这个请求处理过程中要长时间io,那么线程A是空闲等待的,这个时候这个线程能去处理另一个http请求吗?如果不能的话,和bio差别也不是很大啊
来了一个http请求,tomcat从线程池取出一个线程A去处理请求,如果这个请求处理过程中要长时间io,那么线程A是空闲等待的,这个时候这个线程能去处理另一个http请求吗?如果不能的话,和bio差别也不是很大啊
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
3 回答1.7k 阅读✓ 已解决
nio只是用在处理发送、接收信息的时候用到。
nio的处理过程是这样的:
1:客户端连接到达 。
2:nio接收连接 。
3:nio使用轮询方式读取文本并且解析HTTP协议。
4:生成ServletRequest、ServletResponse,取出请求的Servlet。
5:从线程池取出线程,并在该线程执行这个Servlet 。 //实际执行具体的逻辑代码还是一个请求一个线程去处理。
6:把ServletResponse的内容发送到客户端连接
7:关闭连接。