说,我有一个声明为全局字符串变量的TestServlet类。如果同时调用TestServlet类,这个'message'字符串变量是否可以安全地打印而不会从并发线程中穿过?HttpServlet.class是否以线程安全的方式运行?
public class TestServlet extends HttpServlet {
private String message;
public void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException {
OutputStream os = response.getOutputStream();
message = UUID.randomUUID().toString();
os.write(message.getBytes());
}
}
它跨多个线程共享。为什么你需要把它变成一个实例变量?为什么你不在'String message = UUID.randomUUID()。toString();'方法中? –
因为实例变量将被用于其他目的。 – lannyboy