基于CAS实现的工具类

笔记  JUC  Java 

原子整数AtomicBooleanAtomicIntegerAtomicLongAtomicInteger 常用方法介绍 🚀🔢AtomicInteger 是 Java 中提供的一种线程安全的整型操作类,属于 java.util.concurrent.atomic 包。相比传统的 int 类型,A

AtomicBoolean 的常用方法

笔记  JUC  Java 

了解 AtomicBoolean 的常用方法 🧠🔒AtomicBoolean 是 Java 中提供的一种线程安全的布尔类型操作类,属于 java.util.concurrent.atomic 包。它采用 CAS(Compare-And-Swap) 无锁机制,确保在多线程环境下对布尔值的原子操作。

AtomicInteger 常用方法介绍

笔记  JUC  Java 

AtomicInteger 常用方法介绍 🚀🔢AtomicInteger 是 Java 中提供的一种线程安全的整型操作类,属于 java.util.concurrent.atomic 包。相比传统的 int 类型,AtomicInteger 使用 CAS(Compare-And-Swap) 无锁

CAS

笔记  JUC  Java 

简介CAS是一种用于实现并发编程中线程安全的无锁机制。在 Java 的 java.util.concurrent.atomic 包中得到了完美应用,例如 AtomicInteger。理念CAS的核心思想是进行乐观锁操作,在多个线程修改共享变量的时候,它不依赖于传统的锁,而是依靠硬件底层原语直接完成对

保护共享资源代码实现

笔记  JUC  Java 

// 包声明 - 将相关的类组织在一起package cn.meowrain;// 引入 AtomicInteger 类,用于支持线程安全的原子操作import java.util.concurrent.atomic.AtomicInteger;// 主类,用于演示不同账户实现的功能public c

线程安全单例

笔记  JUC  Java 

1package org.example.sigletons;import java.io.Serializable;public class Singleton1 implements Serializable { private Singleton1(){} private stat

happens-before 规则

JUC  Java 

📜 了解 JMM(Java 内存模型)中的 Happens-Before 规则 🌟在 Java 并发编程中,JMM(Java Memory Model)是非常重要的概念,它定义了线程如何与内存交互,以及如何确保线程之间的通信一致性。JMM 引入了 Happens-Before 规则 来约束操作之

JUC模式:Balking 模式

笔记  JUC  Java 

Balking 模式:当一个线程尝试执行某个操作时,它首先会检查一个条件(通常是某个状态或标志位),判断这个操作是否已经被其他线程完成,或者当前对象的状态是否不适合执行此操作。 如果操作已被完成或条件不满足: 线程会“犹豫”或“退避”,立即放弃执行该操作并返回,而不会等待条件改变或尝试重复执行。 如

两阶段终止

笔记  JUC  Java 

package org.example;import lombok.extern.slf4j.Slf4j;@Slf4jpublic class TwoStageStop { public static void main(String[] args) throws InterruptedExc

Java内存模型

笔记  JUC  Java 

可见性问题package org.example;import lombok.extern.slf4j.Slf4j;import java.util.concurrent.TimeUnit;import java.util.logging.Logger;//TIP To <b>Run&l