有没有办法在不取消 Future 的情况下中断它?
boolean cancel (boolean mayInterruptIfRunning)
尝试取消此任务的执行。如果任务已完成、已被取消或由于某些其他原因无法取消,则此尝试将失败。如果成功,并且在调用取消时此任务尚未启动,则此任务不应该运行。如果任务已经开始,则 mayInterruptIfRunning 参数确定是否应该中断执行该任务的线程以尝试停止该任务。
要捕获中断,我们必须正确捕获 Interrupted Exception 或检查 Runnable / Callable 方法中的 isInterrupted() 方法。
但是没有办法使用 Future 接口中断正在运行的 Future
由于所有线程都在 Executor Service 池中,没有人可以做 thread.interrupt()。这就是为什么假设只有当 Future 被取消或线程池终止时才会出现任何中断?
我试图理解为什么 Future 接口中没有中断方法。任何帮助将不胜感激