文章分类
Java基础
java基础
Map
计算机原理
队列
AQS与同步锁
线程与线程池
IO与网络
java代理
jdbc及其扩展
单元化测试
读书笔记
《spring源码深度解读》
《深入理解JAVA虚拟机》
《MySQL是怎样运行的:从根上理解MySQL》
《Redis开发与运维》
《Java并发编程的艺术》
《Docker与容器云》
中间组件
数据库
大数据组件
缓存
消息组件
运维基础
技术实践
项目源码
com.alibaba.druid
jedis
commons-lang3
java.security
apache.httpclient
java.io
apache.commons.pool2
tomcat
apache.sshd
lombok.log4j2
mybatis
netflix.archius
前端知识
瞬间
相册
朋友圈
留言板
友情链接
沧海月明
解决了什么问题,做了什么优化
累计撰写
149
篇文章
累计创建
33
个标签
累计收到
1
条评论
栏目
文章分类
Java基础
java基础
Map
计算机原理
队列
AQS与同步锁
线程与线程池
IO与网络
java代理
jdbc及其扩展
单元化测试
读书笔记
《spring源码深度解读》
《深入理解JAVA虚拟机》
《MySQL是怎样运行的:从根上理解MySQL》
《Redis开发与运维》
《Java并发编程的艺术》
《Docker与容器云》
中间组件
数据库
大数据组件
缓存
消息组件
运维基础
技术实践
项目源码
com.alibaba.druid
jedis
commons-lang3
java.security
apache.httpclient
java.io
apache.commons.pool2
tomcat
apache.sshd
lombok.log4j2
mybatis
netflix.archius
前端知识
瞬间
相册
朋友圈
留言板
友情链接
目 录
CONTENT
并发-沧海月明
以下是
并发
相关的文章
2024-10-24
DelayQueue - 延时阻塞队列
概述 常用于定时任务,如:定时关机。常用方法 int compareTo(Delayed o):比较大小,自动升序。比较方法建议和getDelay方法配合完成。如果任务是需要按时完成的计划任务,必须配合getDelay方法完成。 long getDelay(TimeUnit unit):获取计划时长
2024-10-24
65
0
0
队列
2024-10-24
LinkedBlockingQueue - 基于链表的无界阻塞队列
概述 链式队列,此队列按照先进先出FIFO原则对元素进行排序,默认长度为Integer.MAX_VALUE。作为链表队列,就会有Node的概念,linkedBlockingQueue的node比较简单,只有元素本身及其下一个节点: static class Node<E> { E i
2024-10-24
66
0
0
队列
2024-10-24
ArrayBlockingQueue - 基于数组的有界阻塞队列
概述 一个用数组实现的有界阻塞队列,会自动阻塞,此队列按照先进先出FIFO原则对元素进行排序。支持公平锁和非公平锁。提供方法包括: boolean add(E e):在容量不足时,抛出异常。
2024-10-24
73
0
0
队列
2024-10-24
ConcurrentLinkedQueue - 基于链表的非阻塞无界队列
简介 ConcurrentLinkedQueue是一个典型的非阻塞、无边界的线程安全队列,基于链接节点,采用CAS算法实现。CoucurrentLinkedQueue规定了如下几个不变形: 在入队的最后一个元素的next为null; 队列中所有未删除的节点的item都不能为null且都能从head节
2024-10-24
59
0
0
队列
2024-10-24
队列
队列 队列有阻塞队列和非阻塞队列。阻塞队列可以阻塞,非阻塞队列不能阻塞,只能使用队列wait(),notify()进行队列消息传送。而阻塞队列当队列里面没有值时,会阻塞直到有值输入。输入也一样,当队列满的时候,会阻塞,直到队列不为空。 补图队列家族、分类、方法汇总
2024-10-24
42
0
0
队列
2024-10-23
Exchanger - 线程通信器
Exchanger是什么 Exchanger用于进行线程间的数据交换。它提供一个同步点,在这个同步点,两个线程可以交换彼此的数据。这两个线程通过exchange方法交换数据,如果第一个线程先执行exchange()方法,它会一直等待第二个线程也执行exchange方法,当两个线程都到达同步点时,这两
2024-10-23
71
0
0
AQS与同步锁
2024-10-23
CyclicBarrier - 同步屏障
含义 CyclicBarrier的字面意思是可循环使用(Cyclic)的屏障(Barrier)。它要做的事情是,让一组线程到达一个屏障(也可以叫同步点)时被阻塞
2024-10-23
57
0
0
AQS与同步锁
2024-10-23
Semaphore - 信号量
信号量是一种特殊的可重入锁,它给自己的state设置了一个余量,只有在有余量的情况下可以加锁。 源码分析 构造函数 public Semaphore(int permits) { sync = new NonfairSync(permits); } 在构造函数中传入一个许可证。sync是AQ
2024-10-23
59
0
0
AQS与同步锁
2024-10-23
ReentrantReadWriteLock - 读写锁
读写锁的特性 相比ReentrantLock,ReentrantReadWriteLock是一种粒度更细,读写分离的锁,更适合高并发但是读多写少的场景。 private final ReentrantReadWriteLock readWriteLock = new ReentrantReadWri
2024-10-23
75
0
0
AQS与同步锁
2024-10-23
CountDownLatch - 同步计数器
CountDownLatch的概念 CountDownLatch的作用很简单,就是一个或者一组线程在开始执行操作之前,必须要等到其他线程执行完才可以。例如等待学生考完收卷的老师。 源码分析 核心成员变量 private final Sync sync; 是一个基于AQS实现的同步器
2024-10-23
49
0
0
AQS与同步锁
1
2
3
4