01: package org.testng.internal.thread.port;
02:
03: import org.testng.internal.thread.ICountDown;
04:
05: import edu.emory.mathcs.backport.java.util.concurrent.CountDownLatch;
06: import edu.emory.mathcs.backport.java.util.concurrent.TimeUnit;
07:
08: /**
09: * CountDownLatch adapter.
10: *
11: * @author <a href='mailto:the_mindstorm@evolva.ro'>Alexandru Popescu</a>
12: */
13: public class CountDownAdapter implements ICountDown {
14: protected CountDownLatch m_doneLatch;
15:
16: public CountDownAdapter(int count) {
17: m_doneLatch = new CountDownLatch(count);
18: }
19:
20: public void await() throws InterruptedException {
21: m_doneLatch.await();
22: }
23:
24: public boolean await(long timeout) throws InterruptedException {
25: return m_doneLatch.await(timeout, TimeUnit.MILLISECONDS);
26: }
27:
28: public void countDown() {
29: m_doneLatch.countDown();
30: }
31: }
|