![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java多线程
文章平均质量分 76
大叔级小鲜肉
这个作者很懒,什么都没留下…
展开
-
JAVA多线程--信号量(Semaphore)
简介 信号量(Semaphore),有时被称为信号灯,是在多线程环境下使用的一种设施, 它负责协调各个线程, 以保证它们能够正确、合理的使用公共资源。 一个计数信号量。从概念上讲,信号量维护了一个许可集。如有必要,在许可可用前会阻塞每一个 acquire(),然后再获取该许可。每个 release() 添加一个许可,从而可能释放一个正在阻塞的获取者。但是,不使用转载 2017-05-23 23:26:46 · 307 阅读 · 0 评论 -
CountDownLatch的使用
CountDownLatch是一个同步辅助类,犹如倒计时计数器,创建对象时通过构造方法设置初始值,调用CountDownLatch对象的await()方法则处于等待状态,调用countDown()方法就将计数器减1,当计数到达0时,则所有等待者或单个等待者开始执行。 1 2 import java.util.concurrent.CountDownLatch; 3 import转载 2017-05-24 23:19:20 · 224 阅读 · 0 评论 -
CyclicBarrier的用法
CyclicBarrier是一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 CyclicBarrier 很有用。因为该 barrier 在释放等待线程后可以重用,所以称它为循环 的 barrier。 CyclicBarrier类似于CountDownLatch转载 2017-05-24 21:41:16 · 261 阅读 · 0 评论 -
Exchanger两个线程之间的数据交换
import java.util.Random;import java.util.concurrent.Exchanger;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;/** * 实现两个线程之间的数据交换,第一个先拿出数据的线程将一直等待第二个线程拿着数据来到时才能原创 2017-06-01 22:55:43 · 313 阅读 · 0 评论