CountDownLatch的使用场景和代码实例

本文详细介绍了Java并发编程中的CountDownLatch,包括其应用场景、原理及代码实例。CountDownLatch是一个计数器,常用于主线程等待多个子线程执行完毕后再继续执行。文章通过具体示例展示了CountDownLatch如何实现线程间的同步,并对比了安全与不安全的并发计数方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 概述

1.1 基本介绍

CountDownLatch   是JUC包中线程同步器的一种实现,又称 倒计数器 , 也就是让一个线程或者多个线程等待其他线程结束后再继续自己的操作,类似加强版 join() 。

  • countDown : 执行一次, 计数器的数值 -1。

  • await :等待计算器的值为 0,才进行后面的操作,就像一个栅栏一样。

1.2 主要应用场景

在平时的开发中,会遇到在主线程中开启多个线程去并行执行任务的业务场景,并且主线程需要等待所有的子线程都执行完毕后,再执行主线程进行汇总。这个时候就可以使用CountDownLatch(注释:CountDownLatch出现之前都是使用join来实现,但是join不够灵活)。

 

1.3 CountDownLatch原理

CountDownLatch cdl = new CountDownLatch(3);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值