gpt4 book ai didi

java - 线程安全的 Servlet

转载 作者:行者123 更新时间:2023-12-02 10:58:49 24 4
gpt4 key购买 nike

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

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

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

最佳答案

Servlet 仅实例化一次:加载时。然后,当客户端发出请求时,它就会被线程化。

这解释了为什么您必须将监视器放置在必要的地方等。

由于 doGet 和 doPost 依赖于请求,因此它是线程安全的:如果您打算在 doGet 和 doPost 中进行原子操作,您应该考虑创建同步方法/ block 。

关于java - 线程安全的 Servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8861324/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com