java - 再次执行操作之前的计时器

标签 java multithreading timer

在 switch 语句中,我有一个 case,它代表游戏中的注销按钮。问题是,如果玩家一遍又一遍地重复单击它,它就会一次又一次地执行 c.logout() 方法,从而导致我的游戏出现大量延迟。我想在玩家再次单击按钮之前添加一个计时器。我对线程和计时器非常陌生,所以我非常感谢对此的一些帮助。特别是如果你能解释一下的话。非常感谢。

这是我的代码

    case 9154: // Logout Button
        c.logout();
        break;

感谢 Ryan 的解决方案

只需创建一个简单的 boolean 值来跟踪登录状态。

case 9154: // Logout Button
    if (loggedIn) {
        loggedIn = false;
        c.logout();
    }
    break;

最佳答案

您可以保留其状态的变量:

case 9154: // Logout Button
    if (loggedIn) {
        loggedIn = false;
        c.logout();
    }
    break;

然后在他们登录时将loggedIn设置回true。

关于java - 再次执行操作之前的计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24913902/

相关文章:

javascript - javascript 计时器到期后显示按钮

java - Docker Gradle 项目生成单个 JAR,但不断重建 4 层

java - 带有 OSGI 和 Karaf 的 CXF 网络服务

java - 包含 5 个数字或没有数字的字符串的正则表达式

java - ArrayList<List<>>变量在Java中通过引用复制值?

c++ - "pure virtual method called"实现 boost::thread 包装器接口(interface)时

java - 为什么一直坚持创建无限的 java 线程

c# - 从多个线程向 DbSet 添加元素的方法

java - 如何在 Android 中的卡片标题上显示倒计时器?

c# - 关闭应用程序的计时器