java - 我如何确保一段代码只执行一次并且只执行一次。再也不会

标签 java

我已经尝试创建一个公共(public)静态变量(非本地)并故意对其进行增量并告诉 Java:

“如果这个变量== 0,那么执行这段代码”

这样即使第二次调用该方法,该代码块也不会执行,因为变量已更改且不再为零...并且它永远不会再次为零,因为它一直在增加。

public void actionPerformed(ActionEvent e){
  if(e.getSource()==deal){/*do something*/}
}

我的问题是,当我按下“交易”按钮时,if 语句执行了不止一次。

最佳答案

尝试这样的事情:

public class Test {
    private boolean isExecuted;
    public synchronized void executeOnce() { 
        if (isExecuted) {
            return;
        } else {
            //do your stuff
            isExecuted = true;
        }
    }
}

根据您的要求修改它。为了提高性能,您可以使用双重检查锁定。

关于java - 我如何确保一段代码只执行一次并且只执行一次。再也不会,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30017647/

相关文章:

java - JTable:看不到列名

Java BounceBall 鼠标事件

java - 使用 Glide 库加载音频/音乐文件封面

java - Maven 依赖从 spring-context 的传递依赖中排除

Java 正则表达式不匹配

Java 图形无法更改字体

java - 如何使用kotlin从fifo文件中读取字符

java - 如何正确检查 Android 设备上的互联网连接?

java - jackson JSON ObjectMapper.readvalue

Java比较器接口(interface)和初始化比较器