CountDwonLatch paquete utilizando la siguiente JUC

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.
Aquí Insertar imagen Descripción
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();
        }
    }
}

Publicado 21 artículos originales · ganado elogios 4 · Vistas 509

Supongo que te gusta

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