我正在使用一个java.util.concurrent.CountDownLatch
对象 ( latch
) 来控制一组Runnable
通过线程池执行的 s(也可能正在执行其他Runnable
s)。
在某些(和可取的)实例中,主线程在等待时被中断latch.await()
。我需要抓住并处理java.lang.InterruptedException
。
我想要做的是代表这个特定的闩锁中断当前在线程池中运行的所有线程,并取消任何Runnable
排队在该池中运行的 s。重申一下:我不能简单地中断池中的所有内容并取消所有挂起Runnable
的 queued ,因为它被其他进程使用。
我认为这是一个标准构造,但找不到它。
因此,在我开始从头开始实现它之前,我很高兴知道 Java 是否有一个固定对象或标准方法来执行此操作。