CountDwonLatch (cuenta atrás), a menudo utilizado para hilo de control para esperar hasta el final de la cuenta atrás comenzó de nuevo. CountDownLatch constructor toma un entero como un parámetro, es decir, el número de esta corriente contador:
CountDownLatch público (int COUNT);
métodos CountDownLatch comunes:
método COUNTDOWN se refiere a un temporizador de cuenta atrás Guardar, el método await (), un hilo de espera para la cuenta atrás 0 ejecución continúa entonces.
Ejemplos de aplicación:
public class CountDownLatchDemo implements Runnable {
private static CountDownLatch countDownLatch = new CountDownLatch(5);
@Override
public void run() {
try {
Thread.sleep(new Random().nextInt(2000));
System.out.println(Thread.currentThread().getName() + "执行结束");
} catch (InterruptedException e) {
e.printStackTrace();
} finally {
countDownLatch.countDown();
}
}
public static void main(String[] args) {
CountDownLatchDemo downLatchDemo = new CountDownLatchDemo();
ExecutorService executorService = null;
try {
executorService = Executors.newFixedThreadPool(5);
for (int i = 0; i < 5; i++) {
executorService.execute(downLatchDemo);
}
countDownLatch.await();
} catch (InterruptedException e) {
e.printStackTrace();
} finally {
System.out.println("所有线程执行完成----");
executorService.shutdown();
}
}
}