有问题的如何使线程超时,建议的解决方案适用于ExecutorService
该类,其中可以提交Runnable
要执行的对象。
该类ExecutorService
提供了两种方法shutdown
并shutdownNow
停止所有任务的执行。但是 Java API 说shutdownNow
:
“尝试停止所有正在执行的任务,停止等待任务的处理,并返回等待执行的任务列表。除了尽力停止处理正在执行的任务之外,没有任何保证。例如,典型的实现将通过 Thread.interrupt() 取消,因此任何无法响应中断的任务都可能永远不会终止。”
我想知道,如果没有办法执行有保证的任务终止?