- 博客(6)
- 收藏
- 关注
转载 Java 并发工具CountDownLatch和CyclicBarrier 原理解析
[TOC]Java 并发工具CountDownLatch和CyclicBarrier 原理解析一,简介CountDownLatch 允许一个或者多个线程等待其他线程完成操作。CyclicBarrier 的字面意思是可循环使用(Cyclic)的屏障(Barrier)。它要做的事情是,让一组线程达到一个屏障(也可以叫同步点)时被阻塞,直到最后一个线程到达屏障时,屏障才会开门,所有被屏障拦截的...
2019-07-05 17:21:20 270
转载 LinkedTransferQueue 1.8 源码解析
[TOC]LinkedTransferQueue 1.8 源码解析一,简介LinkedTransferQueue 是一个由链表结构组成的wujie阻塞传输队列,它是一个很多队列的结合体(ConcurrentLinkedQueue,LinkedBlockingQueue,SynchronousQueue),在除了有基本阻塞队列的功能(但是这个阻塞队列没有使用锁)之外;队列实现了Transf...
2019-07-04 16:15:30 215
转载 SynchronousQueue 1.8 源码解析
[TOC]SynchronousQueue 1.8 源码解析一,简介SynchronousQueue 是一个很奇怪的队列,感觉都不能叫队列,因为内部没有数据的存储空间,队列不能peek,因为不存在元素,任何入队的线程都会阻塞,直到有线程来出队,也就是这个队列是一组操作,入队和出队要一起离开,出队也是一样,必须等入队,必须结伴而行;队列支持公平和非公平的模式(指的是队列匹配线程的顺序),公...
2019-07-03 09:37:14 136
转载 PriorityBlockingQueue 1.8 源码解析
[TOC]PriorityBlockingQueue 1.8 源码解析一,简介PriorityBlockingQueue 是一个支持优先级的×××阻塞队列,数据结构采用的是最小堆是通过一个数组实现的,队列默认采用自然排序的升序排序,如果需要自定义排序,需要在构造队列时指定Comparetor比较器,队列也是使用ReentrantLock锁来实现的同步机制。二,UML图三,基本成员...
2019-06-28 15:16:59 109
转载 LinkedBlockingQueue 1.8 源码详解
[TOC]LinkedBlockingQueue 1.8 源码详解一,简介LinkedBlockingQueue 是一个用链表实现的有界阻塞队列;此队列的默认和最大长度为Integer.MAX_VALUE;此队列按照先进先出的原则对元素就行排序;队列有两个锁,生成和消费各一把锁,都是默认的非公平锁。二,类UML图三,基本成员 static class Node<E&g...
2019-06-21 15:49:17 123
转载 ArrayBlockingQueue 1.8 源码浅析
[TOC]ArrayBlockingQueue 1.8 源码浅析一,简介ArrayBlockingQueue 是一个用数组实现的有界队列;此队列按照先进先出(FIFO)的规则对元素进行排序;默认情况下不保证线程公平的访问队列,所谓公平访问队列是指阻塞的线程,可以按照阻塞的先后顺序的访问队列,即先阻塞的线程先访问队列;非公平性是对先等待的线程是非公平的,当队列可用时,阻塞的线程都可以争夺访问...
2019-06-20 16:09:07 69
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人