gpt4 book ai didi

java - 同步Java方法

转载 作者:行者123 更新时间:2023-12-01 08:13:50 27 4
gpt4 key购买 nike

假设我有以下代码作为 Web 服务的一部分运行。代码必须是线程安全的,例如任何其他 Web 服务调用都无法更改另一个实例中的变量。这段代码满足这个要求吗?

public class ExampleClass {

public static String abc = "000";
public static ArrayList<String> myList = new ArrayList();

public static synchronized final void clearList(){
mylist.clear();
}
public static synchronized final void addToList(String listItem){
myList.add(listItem);
}

...

more static synchronized methods...

}

我继承了此代码,需要进行最小量的更改以确保其同步。

非常感谢您的回答。

[编辑]为了澄清一些。执行此代码时会进行 Web 服务调用,并且它使用“abc”和“myList”变量,例如改变他们。与此同时,另一个 Web 服务调用进来,它也将开始使用这些变量。然而,这两个单独的请求应该有自己的“abc”和“myList”变量,例如他们之间不能共享这些,否则结果将是错误的。

最佳答案

没有。您的 String abcArrayList myList 显然可以被另一个类访问。将它们设为私有(private)(最好是非静态)。

关于java - 同步Java方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15117488/

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