2

我使用执行器服务启动了一些线程以从网络获取一些文件。我希望线程在一段时间后停止执行,即使它们的运行方法没有完成。怎么做?甚至 executor 的 shutdown() 和 awaitTermination(...) 方法也不起作用。

4

1 回答 1

5

简单的答案是你不能。Thread.stop() 很久以前(很久很久以前)就被弃用了,因为它不可靠并且容易留下脏资源。

您唯一可以做的另一件事是让您的线程在其工作负载期间暂停并检查退出条件(例如被中断或超过某个预定义的时间限制)。

于 2013-03-17T18:52:48.467 回答