我有一些功能
func1()
{
while (true)
{
isdateok()
{ // return true or false
}
}
}
我希望 isdateok() 应该执行到 5 秒(或配置的任何超时),如果它在超时之前返回 true,那么可以继续,并且在 5 秒(或超时)之后它应该停止处理并作为超时返回。
看看ScheduledExecutorService它将允许您执行与时间相关的任务。
我不确定我是否理解您的问题,但答案应该如下:
public boolean func1(long duration) {
long t = System.currentTimeMillis();
while (System.currentTimeMillis() - t < duration) {
if (isdateok())
return true;
else
Thread.yield();
}
return false;
}