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