gpt4 book ai didi

tomcat - 将线程池创建到 servlet 中不好吗?

转载 作者:行者123 更新时间:2023-11-28 22:13:08 24 4
gpt4 key购买 nike

我有一个 httpservlet,它必须与不同的服务建立多个连接才能提供答案。这些请求很少,对 servlet 本身的调用是由 ajax 完成的,而且我正在创建的只是一个程序的 Web 界面,将由少数用户同时使用。

现在,我想在 servlet 中实例化一个线程池并让它执行我的任务,连接将确保每个线程在继续之前完成。

无论如何,我读到过在 servlet 中发送垃圾邮件线程是一种不好的做法。但是使这些连接并行听起来是处理我的问题的最佳方式。

那么,您有什么建议?最好的方法是什么?

最佳答案

这不是一个“坏主意”,但需要谨慎行事。根据您的服务器获得的负载、您可用的内存和 CPU 数量等……这可能确实是最好的方法。我们在工作中一直这样做。

一个好的起点是使用线程池。 Java 1.5+ 有一个很棒的类 ExecutorService

您可以为所有 Servlet 请求创建一个共享池,或者为每个请求创建一个池。

拥有共享池可为您提供这些工作线程的绝对上限。每个请求都有一个新线程可以减少 servlet 请求之间的交互(一个请求不能占用所有线程)。

不过,对于您的用例,可以考虑使用一种替代方法,即根据您使用的库,可以通过单个线程为多个 HTTP 调用提供服务。他们会在幕后使用 nio。不过,我不知道任何人的名字。

关于tomcat - 将线程池创建到 servlet 中不好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22081564/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com