servlet3.0开始支持异步请求,服务器每次请求都会增加一个线程,请问这个异步线程最大数量是多少?该参数是可以配置的吗还是只和访问请求数有关?考虑一种极端情况,如果突然访问量非常大,就会产生很多异步线程,服务器资源不是很快就被耗尽吗?
servlet3.0开始支持异步请求,服务器每次请求都会增加一个线程,请问这个异步线程最大数量是多少?该参数是可以配置的吗还是只和访问请求数有关?考虑一种极端情况,如果突然访问量非常大,就会产生很多异步线程,服务器资源不是很快就被耗尽吗?
java6推出了一个servlet规范,这个其实和web容器有关系,如果一个容器说明支持servlet3.0,那么他的worker线程会将请求交给一个异步线程,然后这个worker线程就返回线程池了。原来的是一直占用这个worker线程池中的线程,是同步的。
再看你的问题:
请问这个异步线程最大数量是多少? 这个是和web容器相关的,本身是一个规范,不可能有最大数量的属性。
如果突然访问量非常大,就会产生很多异步线程,服务器资源不是很快就被耗尽吗?不会哦,线程池是干嘛的,我一说你就明白了吧
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
3 回答1.7k 阅读✓ 已解决
上面的哥们最后一句也提到了,我们可以使用线程池来处理,具体线程数量可以设定,根据实际情况来设定,如果超过了线程池的处理极限,还可以配置拒绝策略,所以异步线程数是可控的。