2021年6月11日

JAVA并发(7)-并发队列PriorityBlockingQueue的源码分析

摘要:本文讲PriorityBlockingQueue(优先阻塞队列) 1. 介绍 一个无界的具有优先级的阻塞队列,使用跟PriorityQueue相同的顺序规则,默认顺序是自然顺序(从小到大)。若传入的对象,不支持比较将报错( ClassCastException)。不允许null。 底层使用的是基于数 阅读全文

posted @ 2021-06-11 00:08 ukyu 阅读(120) 评论(0) 推荐(0) 编辑

2021年6月9日

JAVA并发(6)-并发队列ArrayBlockingQueue

摘要:本文讲ArrayBlockingQueue 1. 介绍 一个基于数组的有界阻塞队列,FIFO顺序。支持等待消费者和生产者线程的可选公平策略(默认是非公平的)。公平的话通常会降低吞吐量,但是可以减少可变性并避免之前被阻塞的线程饥饿。 1.1 类结构 ArrayBlockingQueue继承关系 Arr 阅读全文

posted @ 2021-06-09 20:34 ukyu 阅读(111) 评论(0) 推荐(0) 编辑

2021年6月8日

JAVA并发(5)-并发队列LinkedBlockingQueue的分析

摘要:本文介绍LinkedBlockingQueue,这个队列在线程池中常用到。(请结合源码,看本文) 1. 介绍 LinkedBlockingQueue, 不支持null,基于单向链表的可选有界阻塞队列。队列的顺序是FIFO。基于链表的队列通常比基于数组的队列有更高的吞吐量, 但在大多数的并发应用中具有 阅读全文

posted @ 2021-06-08 15:21 ukyu 阅读(152) 评论(1) 推荐(0) 编辑

2021年6月6日

IDEA debug ConcurrentLinkedQueue时抽风

摘要:1. 介绍 如标题所见,我在使用IDEA debug ConcurrentLinkedQueue的Offer方法时,发生了下面的情况。 代码如下: ConcurrentLinkedQueue<string> queue = new ConcurrentLinkedQueue<>(); queue.o 阅读全文

posted @ 2021-06-06 12:24 ukyu 阅读(90) 评论(1) 推荐(1) 编辑

2021年6月3日

JAVA并发(4)-并发队列ConcurrentLinkedQueue

摘要:本文开始介绍并发队列,为后面介绍线程池打下基础。并发队列莫非也是出队、入队操作,还有一个比较重要的点就是如何保证其线程安全性,有些并发队列保证线程安全是通过lock,有些是通过CAS。 我们从ConcurrentLinkedQueue开始吧。 1. 介绍 ConcurrentLinkedQueue是 阅读全文

posted @ 2021-06-03 23:33 ukyu 阅读(203) 评论(0) 推荐(0) 编辑

2021年5月30日

JAVA并发(3)-ReentrantReadWriteLock的探索

摘要:1. 介绍 本文我们继续探究使用AQS的子类ReentrantReadWriteLock(读写锁)。老规矩,先贴一下类图 ReentrantReadWriteLock这个类包含读锁和写锁,这两种锁都存在是否公平的概念,这个后面会细讲。 此类跟ReentrantLock类似,有以下几种性质: 可选的公 阅读全文

posted @ 2021-05-30 00:29 ukyu 阅读(108) 评论(0) 推荐(0) 编辑

2021年5月24日

JAVA并发(2)-ReentrantLock的见解

摘要:上节,我们讲了AQS的阻塞与释放实现原理,线程间通信(Condition)的原理。这次,我们就讲讲基于AQS实现的ReentrantLock(重入锁)。 1. 介绍 结合上面的ReentrantLock类图,ReentrantLock实现了Lock接口,它的内部类Sync继承自AQS,绝大部分使用A 阅读全文

posted @ 2021-05-24 17:24 ukyu 阅读(197) 评论(1) 推荐(0) 编辑

2021年5月21日

JAVA并发(1)-AQS(亿点细节)

摘要:AQS(AbstractQueuedSynchronizer), 可以说的夸张点,并发包中的几乎所有类都是基于AQS的。 一起揭开AQS的面纱 # 1. 介绍 为依赖 FIFO阻塞队列 的阻塞锁和相关同步器(semaphores, events等)的实现提供一个框架。 为那些依赖于原子state的同 阅读全文

posted @ 2021-05-21 15:35 ukyu 阅读(314) 评论(1) 推荐(2) 编辑

导航