JUC
文章平均质量分 86
多线程与高并发
戏入人生。
天道酬勤
展开
-
CAS共享锁机制分析
CAS共享锁机制分析什么是共享锁?AQS原理概述共享锁逻辑分析(Semaphore角度分析AQS共享逻辑)共享锁获取共享锁释放共用方法什么是共享锁?能被多个线程同时获得的锁,为共享锁。也称之为读锁。与互斥锁(写锁)互斥。AQS原理概述其核心是一个volatile关键字修饰的int类型的state变量,以及一个由双向指针组成的链表队列。队列再初始化的时候,会CAS生成一个head空节点,后继被阻塞的节点会添加到这个空节点的后面,并相互建立pre和next指针。而state变量在不同的锁中,使用方式原创 2022-03-27 15:36:10 · 975 阅读 · 0 评论 -
ThreadLocal源码分析
ThreadLocal源码分析概要ThreadLocal之set方法ThreadLocal之get方法ThreadLocal之ThreadLocalMap内部类概要1.ThreadLocal是线程内共享资源2.存储的资源实际上是存储在当前线程内部的map集合里面3.存储的map的key是ThreadLocal对象如何证明,看下面源码分析ThreadLocal之set方法 public void set(T value) { //获取当前线程 Thread t =原创 2020-05-15 21:26:03 · 106 阅读 · 0 评论 -
synchronized关键字深入总结
synchronized关键字深入总结CAS操作对象的内存布局synchronized早期版本和现在的区别synchronized原理锁升级图解markword没有使用synchronized和使用synchronized对象对比可重入锁有了自旋锁为什么还需要重量级锁:偏向锁是否一定比自旋锁效率高?CAS操作Compare and swap/compare and exchange原理:线程...原创 2020-04-30 18:06:56 · 589 阅读 · 0 评论 -
AQS源码分析
AQS源码分析AQS的成员变量ReentrantLook抢占锁AQS的成员变量 /** * FIFO队列头部的指针 */ private transient volatile Node head; /** * FIFO队列屁股的指针 */ private transient volatile Node tail; /** * 同步状态值,AQS的核心 */ private volatile int s原创 2020-05-10 17:00:50 · 167 阅读 · 0 评论