CountDownLatch允许一个或者多个线程等待其他线程完成操作。
@Override
public void run() {
;
}
});
Thread parse2 = new Thread(new Runnable() {
@Override
public void run() {
System.out.println("parser2 finish");
}
});
parse1.start();
parse2.start();
parse1.join();
parse2.join();
System.out.println("all parse finished");
} }
import java.util.concurrent.CountDownLatch;
/**
* @author pengjunzhe
*/
public class CountDownLatchTest {
static CountDownLatch countDownLatch = new CountDownLatch(2);
public static void main(String[] args) throws InterruptedException {
new Thread(new Runnable() {
@Override
public void run() {
System.out.println(1);
countDownLatch.countDown();
System.out.println(2);
countDownLatch.countDown();
}
}).start();
countDownLatch.await();
System.out.println(3);
}
}