线程安全的servlet

MyT*_*tle 2 java multithreading servlets

当我们创建servlet时,为什么类变量(实例和静态变量)不是线程安全的?

为什么方法doPost()doGet()线程安全?

我认为每个对servlet容器的新请求都会创建servlet类的新实例(扩展HttpServlet).每个实例都有自己的类变量存放在内存中,那么我们必须使这些变量线程安全吗?

del*_*oyk 9

servlet仅在加载时实例化一次:然后,当客户端发出请求时,它就是线程化的.

这就解释了为什么你必须把监视器放在必要的地方等等.

由于doGet和doPost方法依赖于一个请求时,它是线程安全的:如果你打算做的doGet和doPost原子操作,你应该考虑创建同步的方法/块.