Tomcat如何在内部创建线程?

我正在编写一个Tomcat应用程序,该应用程序需要在不同的请求之间维护一些内部状态,因此我需要在Tomcat创建的不同线程之间共享某些内容。我的问题是,如果我编写这样的代码,它将Mapstatic在该类中)在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创建的线程之间共享Mapstatic属于该类)?

是。它将(可能)在多个线程之间共享。

我想我真正不明白的是Tomcat如何从单个类创建许多线程。

线程与类无关。线程是指令序列。它代表代码的执行。

Tomcat产生许多用于处理请求的线程。它将生成您的sessionManager类的单个实例。所有线程都将使用此实例来处理请求。然后他们每个人都可以访问该Map字段。您需要根据需要应用自己的外部同步,以使其线程安全。

以上是 Tomcat如何在内部创建线程? 的全部内容, 来源链接: utcz.com/qa/411243.html

回到顶部