gpt4 book ai didi

java - 当我们有更简单的方法时为什么要使用同步关键字

转载 作者:行者123 更新时间:2023-12-01 21:55:03 25 4
gpt4 key购买 nike

使用变量,我们可以确保任何时候只有一个方法正在执行,请参阅下面建议的代码。我想知道为什么我们要使用同步?

public class Test {
private static boolean lock = false;

public void testMethod() {
if(lock){
System.out.println("Method run is in progress");
return;
}
lock=true;
try{
System.out.println("Doing some stuffs here");
}
catch(Exception e){

}
finally{
lock=false;
}
return;
}
}

最佳答案

事情没那么简单。

你的方案的一个简单的反例:如果两个线程同时遇到你的函数testMethod,那么两个线程都可以将lock视为false.

这同样适用于 finally block 中的代码。

关于java - 当我们有更简单的方法时为什么要使用同步关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34511842/

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