【发布时间】:2013-03-15 09:38:17
【问题描述】:
在等待CountDownLatch.wait的过程中,InterruptedException应该如何处理?
我需要确保CountDownLatch.wait会等待所有其他线程完成,但是如果在等待期间会抛出异常,我应该如何处理?
【问题讨论】:
标签: java multithreading wait interrupt
在等待CountDownLatch.wait的过程中,InterruptedException应该如何处理?
我需要确保CountDownLatch.wait会等待所有其他线程完成,但是如果在等待期间会抛出异常,我应该如何处理?
【问题讨论】:
标签: java multithreading wait interrupt
首先,方法是await(),而不是wait()。 wait() 是 java.lang.Object 的一个方法,它做的事情完全不同。
除非您决定从另一个线程中断在latch.await() 中被阻塞的线程(通过调用thread.interrupt()),否则您不会收到任何InterruptedException。而且既然你决定中断线程,你应该知道当线程被中断时该怎么做。通常,当您希望线程尽快完成他正在做的事情并停止运行时,您决定中断线程。
【讨论】: