经过一段时间后,让线程终结

use*_*220 5 java multithreading

我有一个线程可能会卡住并继续运行.因此,经过一段时间后,我希望它停止执行,转到finally方法进行清理,然后死掉.我该如何安全地做到这一点?谢谢.

我对如何做到这一点的第一个想法是制作一个子线程并进行睡眠然后进行清理.但是当父线程仍在尝试运行时,它不能因此输出错误.

Tho*_*sen 3

将代码重构为 Callable 并使用 ExecutorService 来获取 Future。然后使用带有超时的 get ,如果此时未完成,则会抛出 TimeoutException 。有关完整示例,请参阅/sf/answers/159291751/ 。