Tomcat如何在内部创建线程?
我正在编写一个Tomcat应用程序,该应用程序需要在不同的请求之间维护一些内部状态,因此我需要在Tomcat创建的不同线程之间共享某些内容。我的问题是,如果我编写这样的代码,它将Map
(static
在该类中)在Tomcat创建的线程之间共享。
public class sessionManager extends HttpServlet { private static HashMap<Integer, String> Map;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// logic
}
}
我想我真的不知道Tomcat是如何从一个 。 *
回答:
我的问题是,如果我编写这样的代码,将在Tomcat创建的线程之间共享
Map
(static
属于该类)?
是。它将(可能)在多个线程之间共享。
我想我真正不明白的是Tomcat如何从单个类创建许多线程。
线程与类无关。线程是指令序列。它代表代码的执行。
Tomcat产生许多用于处理请求的线程。它将生成您的sessionManager
类的单个实例。所有线程都将使用此实例来处理请求。然后他们每个人都可以访问该Map
字段。您需要根据需要应用自己的外部同步,以使其线程安全。
以上是 Tomcat如何在内部创建线程? 的全部内容, 来源链接: utcz.com/qa/411243.html