我正在寻找与ruby中相同的java功能:
SystemTimer.timeout_after(30.seconds)确实做了一些事情
我可以通过分叉线程然后在一段时间后杀死它来实现这一点,但有更简单的方法吗?
Mor*_*075 -1
要么在线程中运行它,要么执行如下操作:
void method() {
long endTimeMillis = System.currentTimeMillis() + 10000;
while (true) {
// method logic
if (System.currentTimeMillis() > endTimeMillis) {
// do some clean-up
return;
}
}
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,这并不适用于所有类型的方法。