CountDwonLatch (contagem regressiva), muitas vezes usado para linha de controle que esperar até o fim da contagem regressiva começou novamente. CountDownLatch construtor leva um número inteiro como um parâmetro, isto é, o número de este contra-corrente:
CountDownLatch pública (int COUNT);
métodos CountDownLatch comuns:
método CONTAGEM refere-se a uma contagem regressiva do temporizador Guardar, o método Await (), um fio de espera para a contagem regressiva 0 de execução, em seguida, continua.
Exemplos de aplicação:
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();
}
}
}