如何超时线程我想运行一个线程的固定时间。如果它没有在这段时间内完成,我想要么杀死它,抛出一些异常,要么以某种方式处理它。怎么做呢?一种方法,就像我从这条线是在Thread的run()方法中使用TimerTask。有什么更好的解决办法吗? 编辑:增加赏金,因为我需要一个更清晰的答案。下面给出的ExecutorService代码没有解决我的问题。为什么我要在执行(一些代码-我没有处理这段代码)之后睡觉()?如果代码已经完成,睡眠()被中断,那怎么可能是超时呢?需要执行的任务不在我的控制范围内。它可以是任何代码。问题是这段代码可能会遇到无限循环。我不希望这种事发生。所以,我只想在一个单独的线程中运行这个任务。父线程必须等待该线程完成,并需要知道任务的状态(即是否超时、是否发生异常或是否成功)。如果任务进入无限循环,我的父线程将无限期地等待,这不是理想的情况。
3 回答
幕布斯6054654
TA贡献1876条经验 获得超7个赞
ExecutorService
interrupt()
添加回答
举报
0/150
提交
取消