【多线程笔记01】多线程之CountDownLatch介绍及其使用

本文详细介绍了Java多线程中的CountDownLatch,包括其原理、执行过程、使用案例和适用场景。CountDownLatch是一个线程间通信工具,用于主线程等待子线程执行完毕后再继续执行。文章通过实例展示了如何在并发编程中有效利用CountDownLatch实现线程同步。
摘要由CSDN通过智能技术生成

这篇文章,主要介绍多线程中CountDownLatch的使用。

目录

一、CountDownLatch

1.1、CountDownLatch介绍

1.2、CountDownLatch执行过程

1.3、CountDownLatch使用


一、CountDownLatch

1.1、CountDownLatch介绍

CountDownLatch是JDK提供的一个多线程间通信的类,该类位于【java.util.concurrent】包下,CountDownLatch主要用于一个线程需要等待另一个线程执行完成之后,才可以继续执行的场景里面。

CountDownLatch底层是基于AQS(抽象队列同步器)实现的,它的基本原理大致如下所示:

  • 创建CountDownLatch对象的时候,指定一个线程数量,此时内部会维护一个state计数器,用于表示线程的数量。
  • 这个时候,自己就可以创建一些子线程处理相应的业务逻辑。
  • 主线程调用CountDownLatch类的【await()】方法,进入阻塞状态,此时会等待子线程执行完成。
  • 子线程执行完成之后,主动调用【countDown()
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.小朱同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值