gpt4 book ai didi

java - 杀死java中的无限循环

转载 作者:搜寻专家 更新时间:2023-10-31 08:10:31 24 4
gpt4 key购买 nike

我正在使用第三方库来处理大量数据集。该过程偶尔会进入无限循环(或被阻塞-不知道为什么也无法进入代码)。我想在设定的时间后杀死它并继续下一个案例。一个简单的例子是:

for (Object data : dataList) {
Object result = TheirLibrary.processData(data);
store(result);
}

processData 通常最多需要 1 秒。我想设置一个计时器,在 10 秒后终止 processData()

编辑我将不胜感激代码片段(我没有使用线程)。 Executor 方法看起来很有用,但我不太清楚如何开始。此外,更传统方法的伪代码对我来说太笼统了,无法编写代码。

@Steven Schlansker - 建议除非第三方应用程序预料到中断,否则它将无法工作。再次感谢详细信息和示例

编辑我从我的同事 Sam Adams 那里得到了我想要的精确解决方案,我将其附加为答案。它比其他答案更详细,但我会给他们两个投票。我会将 Sam 标记为已批准的答案

最佳答案

ExecutorService.invokeAll(...) 之一方法采用超时参数。创建调用库的单个 Callable,并将其包装在 List 中作为该方法的参数。返回的 Future 表明它是如何进行的。

(注:未经本人测试)

关于java - 杀死java中的无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3489467/

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