gpt4 book ai didi

java - Java 中的 javascript setTimeout 等价物是什么?

转载 作者:IT老高 更新时间:2023-10-28 21:07:22 24 4
gpt4 key购买 nike

我需要实现一个在单击按钮 60 秒后运行的函数。请帮忙,我使用了 Timer 类,但我认为这不是最好的方法。

最佳答案

使用JDK 1.8的异步实现:

public static void setTimeout(Runnable runnable, int delay){
new Thread(() -> {
try {
Thread.sleep(delay);
runnable.run();
}
catch (Exception e){
System.err.println(e);
}
}).start();
}

使用 lambda 表达式调用:

setTimeout(() -> System.out.println("test"), 1000);

或者有方法引用:

setTimeout(anInstance::aMethod, 1000);

处理当前运行的线程只使用同步版本:

public static void setTimeoutSync(Runnable runnable, int delay) {
try {
Thread.sleep(delay);
runnable.run();
}
catch (Exception e){
System.err.println(e);
}
}

在主线程中谨慎使用它——它会在调用之后暂停一切,直到 timeout 到期并且 runnable 执行。

关于java - Java 中的 javascript setTimeout 等价物是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26311470/

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