当我阅读Head First Servlet and JSP
时,他们说实例变量是非线程安全的。
我不是很理解这个说法。例如:我有一个名为ActionServlet.java
. 每次,每个用户的请求都会发送到服务器,容器会创建一个新线程并创建新ActionServlet
实例。
ActionServlet
可能有一个结构:
public class ActionServlet extends HttpServlet {
// example of instance variable
Instance variable;
public void processRequest(HttpServletRequest request, HttpServletResponse response) {
// process something relating to instance variable
}
}
所以,因为所有这些线程都为 创建了一个新的类实例ActionServlet
,所以我在这里看不到任何问题。因为这些线程的实例是相互独立的。
请找出在多线程环境中使用实例变量时的问题所在。
谢谢 :)