Java相当于JavaScript Timeout函数

时间:2012-02-01 11:59:18

标签: java javascript

我正在将一些Javascript代码翻译成Java,并且需要知道如何在Java中执行Timeouts。我如何将以下内容翻译成Java?

var x = setTimeout(function(){ ... }, 2000);
clearTimeout(x);

3 个答案:

答案 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) ) ...