java调用工具包_Java并发工具包

Java并发工具包CountDownLatch

CycliBarrier

Semaphore

Exchanger

CountDownLatch

相当一个计数器,new CountDownLatch(num)时设置等待的次数,允许一个或多个线程等待其他线程完成操作。 类似与thread.join()的方法。

常用方法:countDown() 计算器减一

await() 等待计算器数值为0

CycliBarrier

设置一道屏障,当指定数目的线程都到达屏障后,才会执行下一步。

常用方法:await() 告诉Cyclibarrier当前线程已经到达当线程数调用await()小于new CyclicBarrier(num)中指定的num时,所有线程都会一直等待

Semaphore

信号量,可以看作交通灯中绿灯,在一定时间内只能执行一定量的线程,控制并发数量,前面两个工具类是限定总的等待执行数,这个是控制并发量。

常用方法:acquire() 获取执行证

release() 释放执行证

应用场景:数据库连接资源十分珍贵有限,可以进行并发数量控制

在资源有限的场景,都可以进行信号限流控制

Exchanger

两个线程执行交换数据,如线程A中调用exchanger.exchange(String aa), 线程B中调用exchanger.exchange(String bb), 线程B获取到A的数据后,可以进行核对校验。如果只有一个线程调用exchange(), 线程会一直等待。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值