首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
AQS源码
Emanon
创建于2022-12-12
订阅专栏
AQS源码
等 6 人订阅
共12篇文章
创建于2022-12-12
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
12.CountDownLatch源码分析
源码分析 构造函数 await state的值代表待达到条件的线程数,比如初始化为5,表示待达到条件的线程数为5,每次调用countDown()函数都会减1,所以当没有达到条件也就是state不等于0
11.countDownLatch(共享锁)
CountDownLatch是Java并发包下的一个工具类,latch是门闩的意思。 顾名思义,CountDownLatch就是有一个门闩挡住了里面的人(线程)出来,当count减到0的时候,门闩打开
10.Semaphore源码解析
Semaphore实现原理构造源码,释放令牌源码,获取令牌源码。 为什么叫setHeadAndPropagate? 为什么设置等待状态为propagate?
9.Semaphore(非公平共享锁)
Semaphore(非公平共享锁) 通常我们叫它信号量, 可以用来控制同时访问特定资源的线程数量,通过协调各个线程,以保证合理的使用资源。
8.await和signal源码
await源码 线程等待队列是双向链表即同步队列是双向链表,Codition等待队列是单链表 await addConditionWaiter:进入等待队列 fullyRelease:释放锁
7.await和signal流程解析
await整体流程 await 流程 步骤一.进入等待队列 一开始 Thread-0 持有锁,调用 await方法,进入ConditionObject的addConditionWaiter流程: 创建
6.condition条件变量提高线程通信效率
Condition是在java 1.5中才出现的,它用来替代传统的Object的wait()、notify()实现线程间的协作。
5.加锁&解锁&公平&非公平&打断&不可打断原理
AQS原理概览 全称是 AbstractQueuedSynchronizer,是阻塞式锁和相关的同步器工具的框架,类似于synchronize关键字加的锁。
4.非公平锁不可打断源码解析
AQS原理概览 全称是 AbstractQueuedSynchronizer,是阻塞式锁和相关的同步器工具的框架,类似于synchronize关键字加的锁。
3.ReentrantLock源码概览
AbstractQueuedSynchronizer#Node,Node结点是对每一个等待获取资源的线程的封装
2.AQS的CLH同步队列
AQS的CLH同步队列 同步队列是双向。 与CLH同步锁异同 CLH队列锁提过,AQS里面的CLH队列是CLH同步锁的一种变形, 其主要从两方面进行了改造:节点的结构与节点等待机制。
1.AQS原理概览
AQS原理概览 全称是 AbstractQueuedSynchronizer,是阻塞式锁和相关的同步器工具的框架,类似于synchronize关键字加的锁。