我正在将一些Javascript代码翻译成Java,并且需要知道如何在Java中执行Timeouts。我如何将以下内容翻译成Java?
var x = setTimeout(function(){ ... }, 2000);
clearTimeout(x);
答案 0 :(得分:4)
尝试使用java.util.Timer
您可以在指定时间结束或定期间隔内安排任务。使用
myTimer.schedule(tt,2000);
其中tt是来自java.util.TimerTask的TimerTask对象(你必须实现run()方法,它将对应于javascript中的“function(){...}”。
答案 1 :(得分:0)
创建一个新的Thread
。如果您需要延迟执行,可以使用sleep()
无论如何它基本上是不同的,在JS中你没有'主线程'(JS由浏览器线程运行),而在Java中你拥有它。所以,如果你想要做的是在指定的时间单独调用一个函数,你只创建一个线程,在这个线程中你用一个睡眠和你的逻辑做一个循环(并将该线程标记为守护进程)。
答案 2 :(得分:0)
创建一个线程并粘贴您的业务逻辑(您要在其中等待)。然后使用Thread.sleep(2000);
。但是,根据您的需要,您要对Java代码做什么。您也可以像这样使用public interface Lock
:
Lock lock = ...;
if ( lock.tryLock(50L, TimeUnit.SECONDS) ) ...