pacote CountDwonLatch usando o seguinte JUC

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.
Aqui Insert Picture Descrição
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();
        }
    }
}

Publicado 21 artigos originais · ganhou elogios 4 · Visualizações 509

Acho que você gosta

Origin blog.csdn.net/weixin_39617728/article/details/104911381
Recomendado
Clasificación