CountDownLatch 是 JUC 提供的解决方案 CountDownLatch 可以保证一组子线程全部执行完牛后再进行主线程的执行操作。例如,主线程启动前,可能需要启动并执行若干子线程,这时就可以通过
CountDownLatch 来进行控制。
CountDownLatch 是通过一个线程个数的计数器实现的同步处理操作,在初始化时可以为 CountDownLatch 设置一个线程执行总数,这样每当一个子线程执行完毕后都要执行减 1 操作,当所有的子线程都执行完毕后,CountDownLatch 中保存的计数为 0,则主线程恢复执行。
- Docker14
- 安装教程8
- Windows8
- Spring Boot8
- MySQL5
- .NET4
- ECS4
- Java SE4
- Data Structures and Algorithms4
- Jakarta EE3
- FE3
- 未分类2
- Oracle2
- Git2
- 并发编程2
- Spring MVC2
- Linux2
- Spring Cloud1
- Spring Data1
- regex1
提醒:
1 部分案例使用线程池创建线程。方便起见使用 Executors.newFixedThreadPool()方法创建一个固定大小的线程池。
2 Runnable 使用 Lambda 表达式创建
3 代码在 main()方法中执行,出于方便演示,代码中有几处不规范的地方
4 JDK 使用 17 版本