1

我有一些功能

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

我希望 isdateok() 应该执行到 5 秒(或配置的任何超时),如果它在超时之前返回 true,那么可以继续,并且在 5 秒(或超时)之后它应该停止处理并作为超时返回。

4

2 回答 2

1

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

于 2012-05-28T10:42:02.000 回答
0

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

public boolean func1(long duration) {
    long t = System.currentTimeMillis();
    while (System.currentTimeMillis() - t < duration) {
        if (isdateok())
            return true;
        else
            Thread.yield();
    }
    return false;
}
于 2012-05-28T11:05:04.610 回答