ReentrantLock 核心设计中的两个等待队列

笔记  JUC  Java 

理解这两个队列是掌握 ReentrantLock 乃至整个 Java 并发包(JUC)中锁机制的关键。这两个队列都由 ReentrantLock 的内部工具类 AbstractQueuedSynchronizer (简称 AQS) 来管理。简单来说,这两个队列是:同步队列 (Sync Queue):

AQS

笔记  JUC  Java 

讲讲AQS简单说AQS就是起到了一个抽象,封装的作用,将一些排队,入队,加锁,中断等方法提供出来,便于其它相关JUC锁的使用,具体加锁时机,入队时机等都需要实现类自己控制。英文全称 是AbstractQueuedSynchronizer,AQS的核心是一个FIFO的双向队列,队列中的每个节点都代表一

ThreadPoolExecutor 任务处理的核心流程

笔记  JUC  Java 

新任务来了!检查当前运行的线程数是否少于 corePoolSize (核心线程数):如果少于:线程池会直接创建新的核心线程来执行这个任务。任务不会进入 workQueue。如果不小于(即已经达到或超过 corePoolSize):进入下一步。尝试放入 workQueue (任务队列):线程池会尝试将

怎么设置线程池大小?

笔记  JUC  Java 

Java BlockingQueue

笔记  JUC  Java 

什么是BlockingQueuehttps://juejin.cn/post/6999798721269465102?searchId=20250603104637E9FA8BB1E723E91AC5BFBlockingQueue 在 Java 并发编程中扮演着至关重要的角色,它主要用于生产者-消费

自定义线程池

笔记  JUC  Java 

package org.example.threadpool;import lombok.extern.slf4j.Slf4j;import java.util.ArrayDeque;import java.util.Deque;import java.util.HashSet;import jav

原子累加器

笔记  JUC  Java 

package org.example;import java.util.ArrayList;import java.util.List;import java.util.concurrent.atomic.AtomicLong;import java.util.concurrent.atomic.

字段更新器

笔记  JUC  Java 

了解字段更新器 🛠️📖字段更新器(Field Updater)是 Java 中的一种工具类,属于 java.util.concurrent.atomic 包中的内容。它用于简化对对象字段的原子操作,而不需要自己手动使用 synchronized 或其他锁机制。这些类可以帮助我们使用原子操作来安全

原子数组

笔记  JUC  Java 

原子数组package org.example;import java.sql.Array;import java.util.ArrayList;import java.util.Arrays;import java.util.List;import java.util.concurrent.ato

ABA问题

笔记  JUC  Java 

介绍ABA问题是并发编程中,在使用无锁(lock-free)算法,特别是基于 比较并交换(Compare-And-Swap, CAS) 操作时可能出现的一种逻辑错误。它之所以被称为"ABA"问题,是因为一个变量的值从 A 变成了 B,然后又变回了 A。对于一个只检查当前值是否等于