![](https://img-blog.csdnimg.cn/20190927151026427.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
J.U.C包
java.util.concurrent包中接口、类详解
ꦿ๑簡單點๑
若不是为生活所迫,谁愿意让自己弄得一身才华!
展开
-
CyclicBarrier - 原理解读
CyclicBarrier是一个同步辅助类,它允许一组线程相互等待直到所有线程都到达一个公共的屏障点。在程序中有固定数量的线程,这些线程有时候必须等待彼此,这种情况下,使用CyclicBarrier很有帮助。这个屏障之所以用循环修饰,是因为在所有的线程释放彼此之后,这个屏障是可以重新使用的。屏障线程的运行时机:等待的线程数量=parties之后,CyclicBarrier打开屏障之前。一、使用场景...原创 2020-06-23 23:31:17 · 178 阅读 · 0 评论 -
CountDownLatch - 原理解读
CountDownLatch是一次性的,计数器的值只能在构造方法中初始化一次,之后没有任何机制再次对其设置值,当CountDownLatch使用完毕后,它不能再次被使用。一、使用场景用法一:某一线程在开始运行前等待n个线程执行完毕将CountDownLatch的计数器初始化为n:new CountDownLatch(n) ,每当一个任务线程执行完毕,就将计数器减1, countdownlatch.countDown(),当计数器的值变为0时,在CountDownLatch上 await() .原创 2020-06-23 23:28:52 · 11593 阅读 · 26 评论 -
ConcurrentHashMap - 原理解读
一、主要用法二、源码解读原创 2020-06-23 23:24:41 · 118 阅读 · 0 评论 -
CopyOnWriteArrayList - 原理解读
一、核心思想:CopyOnWriteArrayList的核心思想是利用高并发往往是读多写少的特性,对读操作不加锁,对写操作,先复制一份新的集合,在新的集合上面修改,然后将新集合赋值给旧的引用,并通过volatile 保证其可见性,当然写操作的锁是必不可少的了。二、源码解读主要方法:indexOf、contains、get、set、add、remove、addIfAbsent和iterator...原创 2020-06-23 23:22:01 · 187 阅读 · 0 评论 -
Java阻塞队列
阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作是:在队列为空时,获取元素的线程会等待队列变为非空。当队列满时,存储元素的线程会等待队列可用。阻塞队列常用于生产者和消费者的场景,生产者是往队列里添加元素的线程,消费者是从队列里拿元素的线程。阻塞队列就是生产者存放元素的容器,而消费者也只从容器里拿元素JDK7提供了7个阻塞队列:ArrayBlockingQueue :一个由数组结构组成的有界阻塞队列。LinkedBlockingQueue :一个由链表结构组成的有.原创 2020-06-12 17:34:38 · 153 阅读 · 0 评论 -
Java阻塞队列 - ArrayBlockingQueue
ArrayBlockingQueue是Java并发包中一种基于数组结构实现的有界阻塞队列以下是该类的继承结构图:以下是该类的内部结构图:原创 2020-06-12 17:18:17 · 105 阅读 · 0 评论 -
Java阻塞队列 - LinkedBlockingDeque
LinkedBlockingDeque是Java并发包中一种基于双链表结构实现的有界阻塞队列以下是该类的继承结构图以下是该类的内部结构图:原创 2020-06-12 16:54:30 · 175 阅读 · 0 评论