并发包系列
程序员大黑鱼
这个作者很懒,什么都没留下…
展开
-
CyclicBarrier(同步容器)
CyclicBarrier(同步容器) 作用 它允许一组线程相互等待直到所有线程都到达一个公共的屏障点,才开始执行下面的操作,举例:例如做公交车,等所有人都坐上车了,车才启动出发 方法 public CyclicBarrier(int parties); public CyclicBarrier(int parties, Runnable barrierAction); private void nextGeneration(); private void breakBarrier(); private i原创 2020-07-20 02:16:21 · 85 阅读 · 0 评论 -
Semaphore(信号量)
Semaphore(信号量) 作用 Semaphore的作用是控制并发访问的线程数目。 核心方法 //参数permits表示许可数目,即同时可以允许多少线程进行访问 public Semaphore(int permits); //这个多了一个参数fair表示是否是公平的,即等待时间越久的越先获取许可 public Semaphore(int permits, boolean fair); //获取一个许可,如果没有继续等待 public void acquire() throws Interrupt原创 2020-07-19 23:34:32 · 196 阅读 · 0 评论 -
CountDownLatch(计数器)
CountDownLatch 概念 countDownLatch这个类使一个线程等待其他线程各自执行完毕后再执行。 是通过一个计数器来实现的,计数器的初始值是线程的数量。每当一个线程执行完毕后,计数器的值就-1,当计数器的值为0时,表示所有线程都执行完毕,然后在闭锁上等待的线程就可以恢复工作了。 核心方法 //构造方法,初始化一个CountDownLatch实例,指定计数count,一般指定为多线程的数量 public CountDownLatch(int count); //阻塞线程,等待所有线程执行完成原创 2020-07-19 22:31:35 · 289 阅读 · 0 评论