我有一些功能
func1()
{
while (true)
{
isdateok()
{ // return true or false
}
}
}
我想isdateok()应该执行到5秒(或任何配置的超时) 如果它在超时之前返回true,则ok,否则继续,5秒后(或超时)它应该停止处理并返回超时。
答案 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;
}