乐观读写锁-StampedLock
StampedLock 是ReentrantReadWriteLock 的子集,解决了读写锁中读多写少时,写操 […]
StampedLock 是ReentrantReadWriteLock 的子集,解决了读写锁中读多写少时,写操 […]
ReentrantLock 可重入互斥锁,具有与使用synchronized方法和语句访问的隐式监视锁相同的基 […]
NoFairSync非公平同步 加锁流程 没有竞争时 出现竞争 Thread-1 执行: CAS 尝试将 st […]
前言 Java中的大部分同步类(Lock、Semaphore、ReentrantLock等)都是基于Abstr […]
池化 池化是将资源(资产、设备、人员、努力等)组合在一起,以最大化用户的优势或最小化用户的风险。 该术语用于金 […]
💡Synchronized 的虚假唤醒的等待时间,需要我们自己控制。 💡ReentrantLock 中的的Co […]
LinkedBlockingQueue 与ConcurrentLinkedQueue LinkedBlocki […]
阅读前提:本文分析的是源码,所以至少读者要熟悉它们的接口使用,同时,对于并发,读者至少要知道 CAS、Reen […]
线程安全集合类可以分为三大类: 1.遗留的线程安全集合如 Hashtable , Vector。 Hashta […]
如果一个变量被声明成final 那么他永远都是线程安全的: 0: aload_0 1: invokespeci […]
不可变 每次对对象进行修改时,都会copy出一个副本。 CopyOnWriteArrayList:写时复制(C […]
/** * 使用UNSAFE实现自己的原子类 */ public class MyAtomicInt { pr […]
ThreadLocal概念 线程独享的变量,采用的是线程封闭隔离的思想保证线程安全性。 ThreadLocal […]
原子类 原子类型 AtomicBoolean AtomicInteger AtomicLong AtomicR […]
CAS CAS 全称是 Compare and swap,是一种用于在多线程环境下实现同步功能的机制,一种乐观 […]
什么是内存屏障? 内存屏障可以理解为volatile 关键字在 Java 中使用了内存屏障来保证多线程环境下共 […]
CPU的缓存模型 为什么要弄一个 CPU 高速缓存呢? 类似我们开发网站后台系统使用的缓存(Redis),是为 […]
前置知识 乐观锁的主要实现方式-CAS [[6.各种各样的锁#^3c30d1]] Java对象头的结构-Mar […]
乐观锁 & 悲观锁 乐观锁与悲观锁是一种广义上的概念,体现了看待线程同步的不同角度。在Java和数据库 […]
java.util.concurrent.locks.LockSupport 的 park/unpark 方法 […]