假设我在Java中使用executor框架启动了10个线程。我想稍后根据某些条件停止/中断可调用对象。这样做的最好方法是什么。我了解future.cancel(true),无法解决问题。
答案 0 :(得分:0)
选中此article.
调用shutdownNow()或cancel()不会停止正在进行的可运行对象。这些方法所做的只是在相应线程上调用.interrupt()。问题是,您的runnable无法处理InterruptedException(并且无法处理)。这是许多书籍和文章中描述的一个非常普遍的问题,但仍然有点违反直觉。
为此,您需要做很多事情。