终于有人把 CountDownLatch,CyclicBarrier,Semaphore 说明白了!

e49afb2bbd3744a34723ef619502be3f.png

若有收获,请记得分享和转发哦

在 JUC 下包含了一些常用的同步工具类,今天就来详细介绍一下,CountDownLatch,CyclicBarrier,Semaphore 的使用方法以及它们之间的区别。

一、CountDownLatch

先看一下,CountDownLatch 源码的官方介绍。

5f20f4afa9f3d6a4c7a9ee43fb35b328.png

意思是,它是一个同步辅助器,允许一个或多个线程一直等待,直到一组在其他线程执行的操作全部完成。

public CountDownLatch(int count) {
	if (count < 0) throw new IllegalArgumentException("count < 0");
	this.sync = new Sync(count);
}

它的构造方法,会传入一个 count 值,用于计数。

086d62c0ca3233d64dbe3c9e66ece463.png

30ec1cd63598168c455e13252f7cd8a3.png

98ed6f0a0db77286b5b01b5657af2401.png

fd169d90dee58f11f23a94938794ce2b.png

3d5f9219170b428d37ce3945930936a4.png

232cd1ae0418ec91b7c3cd279cdea5ce.png

add11399d09c328f03bbc7d2e4fee554.png

26d969a913ba0c10f9c85c86074b5341.png

52591e9972414bcbe48eb130b678c9f4.png

c0bc8ed5c09e5dfb2e01d4ac6db3330f.png

2b1758328b8edf8fccf44e69cc48a0f8.png

cfbd2c3a4a120f3ecda2778a51c47698.png

5. Semaphore ,需要拿到许可才能执行,并可以选择公平和非公平模式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值