如何在java中的指定时间内执行任务

时间:2012-05-28 10:40:00

标签: java timer

我有一些功能

func1()
{
  while (true) 
  {
    isdateok()
    { // return true or false 
    }
  }
}

我想isdateok()应该执行到5秒(或任何配置的超时) 如果它在超时之前返回true,则ok,否则继续,5秒后(或超时)它应该停止处理并返回超时。

2 个答案:

答案 0 :(得分:1)

查看ScheduledExecutorService,这将允许您执行与时间相关的任务。

答案 1 :(得分:0)

我不确定我是否理解了您的问题,但答案应该如下:

public boolean func1(long duration) {
    long t = System.currentTimeMillis();
    while (System.currentTimeMillis() - t < duration) {
        if (isdateok())
            return true;
        else
            Thread.yield();
    }
    return false;
}