标签:多线程

共 51 篇文章

Java StampedLock的乐观读失败后转换为悲观读锁

Java StampedLock的乐观读失败后转换为悲观读锁 Java 并发包中的 StampedLock 提供了一种乐观读机制,通常比标准的 ReentrantReadWrite

# Java # 并发编程 # 乐观读
2026-05-17 189 0

Java ThreadPoolExecutor的keepAliveTime与核心线程回收

Java ThreadPoolExecutor的keepAliveTime与核心线程回收 Java线程池 ThreadPoolExecutor 通过控制线程数量来平衡性能与资源消耗

# Java # 线程池 # 核心线程回收
2026-05-16 232 0

Java CAS操作的ABA问题与AtomicStampedReference的解决

Java CAS操作的ABA问题与AtomicStampedReference的解决 Java中的CAS(CompareAndSwap)是一种无锁算法,用于实现多线程环境下的原子操

# Java # CAS # ABA问题
2026-05-09 199 0

Java Thread.sleep与Object.wait的锁释放行为差异

Java Thread.sleep与Object.wait的锁释放行为差异 Java 多线程编程中,控制线程暂停的两种最常见方式是 Thread.sleep 和 Object.wa

# Java # 多线程 # 并发编程
2026-05-06 173 0

Java Thread.interrupt()方法对阻塞IO的局限性

Java Thread.interrupt方法对阻塞IO的局限性 在 Java 多线程编程中,开发者习惯使用 Thread.interrupt 方法来请求停止线程。对于正在执行计算

# Java # 多线程 # 线程中断
2026-05-06 196 0

Java Exchanger线程间交换数据的同步工具

Java Exchanger线程间交换数据的同步工具 Java Exchanger 是一个用于线程间协作的同步工具类,它允许两个线程在汇合点交换数据。它提供了一个同步点,在这个同步

# Java并发 # 多线程 # 线程同步
2026-05-06 149 0

为什么说ArrayList线程不安全?并发修改异常复现与分析

为什么说ArrayList线程不安全?并发修改异常复现与分析 1. 复现并发修改异常 ArrayList 是 Java 开发中最常用的集合之一,但它并不是线程安全的。当多个线程同时

# ArrayList # 线程安全 # 并发修改异常
2026-05-05 190 0

Java Phaser分阶段同步屏障替代CyclicBarrier的优势

Java Phaser分阶段同步屏障替代CyclicBarrier的优势 Java并发包(J.U.C)中的 Phaser 是一个功能强大的同步工具,它解决了 CyclicBarri

# Java # 并发编程 # Phaser
2026-05-04 173 0

C++ std::scoped_lock同时锁定多个互斥量避免死锁

C++ std::scopedlock同时锁定多个互斥量避免死锁 在多线程编程中,当需要同时操作多个共享资源时,如果锁的顺序不一致,极易发生死锁。死锁会导致程序挂起,无法继续执行。

# C++编程 # 多线程 # 死锁
2026-05-04 176 0

Java volatile和synchronized的区别与使用场景

Java volatile和synchronized的区别与使用场景 Java并发编程中,处理多线程共享数据时,volatile 和 synchronized 是两个最核心的关键字

# Java并发 # 多线程 # volatile
2026-05-04 190 0

Java StampedLock乐观读锁在缓存场景下的ABA问题

Java StampedLock乐观读锁在缓存场景下的ABA问题 java.util.concurrent.locks.StampedLock 提供了一种乐观的读锁机制,旨在提高多

# Java并发 # 乐观读锁 # ABA问题
2026-05-04 145 0

Go语言atomic.CompareAndSwap的ABA问题与解决方案

Go语言atomic.CompareAndSwap的ABA问题与解决方案 并发编程中,atomic 包提供的原子操作是保证数据安全的重要手段。其中 CompareAndSwap(简

# Go语言 # 并发编程 # 原子操作
2026-05-03 176 0

JavaScript Atomics.waitAsync非阻塞等待SharedArrayBuffer

JavaScript Atomics.waitAsync非阻塞等待SharedArrayBuffer JavaScript 主线程是单线程的,这意味着如果在主线程中执行耗时操作会阻

# JS # Atomics # 共享内存
2026-05-03 155 0

Java Thread.interrupted()与isInterrupted()的状态清除差异

Java Thread.interrupted与isInterrupted的状态清除差异 处理 Java 多线程中断时,混淆 Thread.interrupted 和 isInte

# Java # 多线程 # 线程中断
2026-05-02 192 0

Python GIL锁对多线程CPU密集型任务的性能瓶颈分析

Python GIL锁对多线程CPU密集型任务的性能瓶颈分析 Python 的多线程在处理计算密集型任务时往往无法达到预期的加速效果,甚至可能比单线程更慢。这主要源于 Python

# Python # GIL # 多线程
2026-05-02 176 0

Java ThreadLocalMap的线性探测法解决哈希冲突

Java ThreadLocalMap的线性探测法解决哈希冲突 ThreadLocalMap 是 Java ThreadLocal 的核心存储结构,用于维护线程特有的变量副本。不同

# Java # 线性探测法 # 哈希冲突
2026-05-01 180 0

Java ConcurrentHashMap在JDK8中为什么放弃分段锁

Java ConcurrentHashMap在JDK8中为什么放弃分段锁 Java 8 对 ConcurrentHashMap 进行了彻底的重构,彻底摒弃了 Java 7 中使用的

# Java # JDK8 # 分段锁
2026-05-01 184 0

Java volatile为什么能禁止指令重排序:内存屏障原理

Java volatile为什么能禁止指令重排序:内存屏障原理 在Java多线程编程中,代码的执行顺序往往并不等同于源代码的编写顺序。编译器和处理器为了优化性能,会对指令进行重排序

# Java # volatile # 指令重排序
2026-04-29 199 0

C++ std::shared_ptr的use_count在并发下的近似性说明

C++ std::sharedptr的usecount在并发下的近似性说明 std::sharedptr 是 C++ 中常用的智能指针,通过引用计数机制管理对象的生命周期。usec

# C++ # shared_ptr # 并发
2026-04-28 172 0

Java偏向锁撤销时的安全点停顿问题分析

Java偏向锁撤销时的安全点停顿问题分析 Java偏向锁是为了在无竞争情况下减少获取锁性能损耗而引入的优化机制,它假设锁通常由同一线程多次获得。然而,一旦出现第二个线程尝试获取锁,

# Java # 偏向锁 # 安全点
2026-04-27 207 0