CountDownLatch有什么用?原理是什么?

提问者:帅平 问题分类:面试刷题
CountDownLatch有什么用?原理是什么?
1 个回答
美到拖网速
美到拖网速
CountDownLatch是什么?CountDownLatch 是 Java 并发库 java.util.concurrent 包中的一个同步辅助类,它允许一个或多个线程等待一系列指定操作的完成。
CountDownLatch有什么用?CountDownLatch 用于在完成一组正在其他线程中执行的操作之前,阻塞一个或多个线程的执行。一个 CountDownLatch 是通过一个给定的计数初始化的,该计数表示必须等待的事件数量。countDown() 方法对计数器减一,await() 方法等待计数器达到零,这时所有等待的线程都将被释放继续执行。
CountDownLatch的原理?CountDownLatch 的内部维护了一个计数器,该计数器由构造器的一个参数初始化。每次调用 countDown() 方法时,计数器减一。调用 await() 方法的线程会被挂起,它们将一直等待直到计数器值减到零,此时所有因调用 await() 方法而在等待的线程会被唤醒并继续执行。
CountDownLatch的例子:我举一个例子,展示一下用法,以火箭发射作为例子,其中 CountDownLatch 被用来确保主线程(发射火箭的控制中心)等待三个分支任务(检查系统)完成后才继续执行。
发布于:3个月前 (06-17) IP属地:四川省
我来回答