juc包下四大常用工具类

编程入门 行业动态 更新时间:2024-10-27 10:31:35

juc包下四大<a href=https://www.elefans.com/category/jswz/34/1766763.html style=常用工具类"/>

juc包下四大常用工具类

1.闭锁CountDownLatch
public CountDownLatch(int count):需要等待的线程个数
public void countDown() : 等待的计数器减一
public void await() throws InterruptedException:
调用await方法的线程会阻塞直到计数器值减为0CountDownLatch的对象当计数器值减为0时,不可恢复。2.循环栅栏CyclicBarrier
public CyclicBarrier(int parties, Runnable barrierAction) 
parties:同时等待的线程个数
barrierAction:恢复执行之前,随机挑选一个线程执行任务CyclicBarrier值可以恢复3.Exchanger-线程交换器
两两线程配对后交换数据再同时恢复执行。
若线程调用Exchanger.exchange(),缓冲区只有一个线程,则当前线程阻塞
直到有另一个线程调用Exchanger.exchange()4.Semaphore-信号量
public Semaphore(int permits) permits表示许可个数(同时控制的资源个数)
acquire()获取许可
release()释放许可

信号量的代码测试;

package Chat;import java.util.concurrent.Semaphore;
import java.util.concurrent.TimeUnit;//工人工作任务
class SemaphoreTask implements Runnable{private Semaphore semaphore;public SemaphoreTask(Semaphore semaphore) {this.semaphore = semaphore;}@Overridepublic void run() {try {semaphore.acquir

更多推荐

juc包下四大常用工具类

本文发布于:2024-02-26 00:09:35,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1700712.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:常用工具   juc

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!