上一页 1 ··· 35 36 37 38 39 40 41 42 43 ··· 51 下一页
摘要: 1 前言 看过了LinkedBlockingQueue、ArrayBlockingQueue、DelayQueue等阻塞队列,这节我们又要看一个不一样的队列,SynchronousQueue同步阻塞队列。 2 SynchronousQueue是什么 SynchronousQueue的同步队列,使用的 阅读全文
posted @ 2023-04-09 21:13 酷酷- 阅读(65) 评论(0) 推荐(0) 编辑
摘要: 1 前言 前两节我们看了BlockingQueue阻塞队列的两个子类,LinkedBlockingQueue、ArrayBlockingQueue,它们都是使用了ReentrantLock、Condition的来实现的,在进行插入操作、拉取数据操作之前为了并发安全都需要进行加锁;然后插入时候在容量满 阅读全文
posted @ 2023-04-09 19:46 酷酷- 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 1 前言 这节我们就来看看ArrayBlockingQueue内部实现的原理。ArrayBlockingQueue阻塞队列是基于数组来实现的,上一章节的LinkedBlockingQueue是基于链表来实现的。ArrayBlockingQueue内部的实现机制跟LinkedBlockingQueue 阅读全文
posted @ 2023-04-09 18:16 酷酷- 阅读(57) 评论(0) 推荐(0) 编辑
摘要: 1 前言 这节我们就来看看LinkedBlockingQueue内部实现的原理。 2 LinkedBlockingQueue的使用 在看原理之前我们先来用一用LinkedBlockingQueue,来体验一下: 2.1 插入数据 public class LinkedBlockingQueueTes 阅读全文
posted @ 2023-04-09 15:20 酷酷- 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 1 前言 这节我们就来看看BlockingQueue阻塞队列是什么都有哪些具体实现。 2 BlockingQueue阻塞队列是什么 BlockingQueue阻塞队列,它是一个提供阻塞功能的队列容器。首先它是一个队列容器,能够存储东西,提供数据入队功能,进行数据存入;提供数据取出功能,进行出队,如下 阅读全文
posted @ 2023-04-09 13:17 酷酷- 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 1 前言 我们前面看过了volatile、synchronized以及AQS的底层原理,以及基于AQS之上构建的各种并发工具,ReentrantLock、CountDownLatch、Semaphore、CyclicBarrier,那么我们这节该看什么了,是不是要看运用了。在日常的业务编程中经常使用 阅读全文
posted @ 2023-04-08 23:45 酷酷- 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 1 前言 上节我们看了下ReentrantReadWriteLock读写锁的写锁的申请和释放过程,这节我们就来看下读锁的。 2 线程读锁记录 回顾一下之前的例子,在读写并发操作的时候,读取数据的时候加读锁: public class ReentrantReadWriteLockTest { // 声 阅读全文
posted @ 2023-04-08 12:18 酷酷- 阅读(65) 评论(0) 推荐(0) 编辑
摘要: 1 前言 上节我们看了下ReentrantReadWriteLock读写锁的属性以及内部结构,我们回顾下:(1)ReentrantReadWriteLock内部有两把锁,读锁ReadLock、写锁WriteLock,基于AQS实现的读写锁并发工具Sync;其中无论读锁还是写锁都是基于Sync进行封装 阅读全文
posted @ 2023-04-07 23:24 酷酷- 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 1 前言 接下来我们来看看ReentrantReadWriteLock读写锁,也是基于之前讲解的AQS来实现的,建立在AQS体系之上的一个并发工具类,这个锁很重要,在很多开源的中间件中使用的非常广泛,很多场景使用它来减少并发操作中的锁冲突,提升并发能力。 2 ReentrantReadWriteLo 阅读全文
posted @ 2023-04-07 22:03 酷酷- 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 1 前言 接下来我们来看看Semaphore,也是基于之前讲解的AQS来实现的,建立在AQS体系之上的一个并发工具类。 2 Semaphore是什么 Semaphore,它是一个信号量,主要作用是用来控制并发中同一个时刻执行的线程数量,可以用来做限流器,或者流程控制器。在创建的时候会指定好它有多少个 阅读全文
posted @ 2023-04-07 16:47 酷酷- 阅读(310) 评论(0) 推荐(0) 编辑
上一页 1 ··· 35 36 37 38 39 40 41 42 43 ··· 51 下一页