gpt4 book ai didi

java - 如何创建线程安全的单例类(保存状态)

转载 作者:行者123 更新时间:2023-12-01 07:39:14 25 4
gpt4 key购买 nike

我知道单例类本质上不是线程安全的。但有什么办法可以做到这一点吗?我在 Java Web 应用程序中有一个单例,我希望该程序的每个用户都存在一个类。

这是一个问题,因为单例保存状态,否则就没问题。

最佳答案

I have a singleton in a java web application, and I want one class to exist per user of this program.

使其成为单例是没有意义的。只需将其设置为 session 属性即可。 HttpSession 与浏览器 session 相关联,并且特定于每个访问者。例如购物车:

Cart cart = (Cart) session.getAttribute("cart");

if (cart == null) {
cart = new Cart();
session.setAttribute("cart", cart);
}

// ...

它可以只是一个简单的 Javabean。

另请参阅:

关于java - 如何创建线程安全的单例类(保存状态),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7366360/

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