gpt4 book ai didi

JAVA:如果函数持续超过1秒如何中断函数

转载 作者:太空宇宙 更新时间:2023-11-04 07:32:43 26 4
gpt4 key购买 nike

我的程序中有这样的代码

for(int i = 0; i < 100000; i++) {
func(i);
}

对于 i 的大多数值,func 持续时间不到 1 秒,但对于某些值,它可能会持续几分钟,因此如果持续时间太长,我需要中断它。

我怎样才能做到这一点?

最佳答案

FutureTask 非常适合执行带有超时的代码。

    FutureTask task = new FutureTask(new Callable() {
@Override
public Object call() throws Exception {
/* Do here what you need */
return null; /* Or any instance */
}
}) {
};
try {
Object result = task.get(1, TimeUnit.SECONDS);
} catch (InterruptedException ex) {
Logger.getLogger(Example1.class.getName()).log(Level.SEVERE, null, ex);
} catch (ExecutionException ex) {
Logger.getLogger(Example1.class.getName()).log(Level.SEVERE, null, ex);
} catch (TimeoutException ex) {
Logger.getLogger(Example1.class.getName()).log(Level.SEVERE, null, ex);
}
}

关于JAVA:如果函数持续超过1秒如何中断函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17452932/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com