ExpertiDict

Java · Intermediário · Inglês · Técnico

CountDownLatch

/ˈkaʊntdaʊn lætʃ/substantivo

Sincronizador que faz threads esperarem até que um contador chegue a zero, decrementado por outras threads com countDown.

Onde usar

Aparece em testes de concorrência e na inicialização: esperar N workers terminarem ou liberar várias threads ao mesmo tempo.

Em código

var latch = new CountDownLatch(3);
for (int i = 0; i < 3; i++) {
  Thread.ofPlatform().start(latch::countDown);
}
latch.await(); // espera as três

Exemplos

Wait on the latch until all workers are done.

Espere no latch até todos os workers terminarem.

A CountDownLatch can't be reset once it reaches zero.

Um CountDownLatch não pode ser reiniciado depois de chegar a zero.

Cuidado

É de uso único: depois que chega a zero não reinicia. Para reuso, use CyclicBarrier ou Phaser.

Sinônimos

trava de contagem

Veja também

Todos os termos de Java