标签:多线程

共 51 篇文章

Java StructuredTaskScope结构化并发的子任务管理

Java StructuredTaskScope结构化并发的子任务管理 Java 21 正式推出了结构化并发,它通过 StructuredTaskScope 将一组相关的子任务视为

# Java # StructuredTaskScope # 结构化并发
2026-04-26 175 0

Java Thread.setDaemon守护线程的终止时机

Java Thread.setDaemon守护线程的终止时机 Java 程序的退出并不取决于所有线程是否结束,而是取决于“非守护线程”(用户线程)是否全部结束。理解 Thread.

# Java # 多线程 # 守护线程
2026-04-25 170 0

Java ReentrantLock的公平锁与非公平锁性能差异实测

Java ReentrantLock的公平锁与非公平锁性能差异实测 Java并发包中的ReentrantLock提供了两种锁获取模式:公平锁与非公平锁。了解两者的性能差异对于编写高

# Java # ReentrantLock # 并发编程
2026-04-25 182 0

Python concurrent.futures.as_completed按完成顺序获取结果

Python concurrent.futures.ascompleted按完成顺序获取结果 在并发编程中,处理批量任务(如网络请求、文件读写或复杂计算)时,通常会遇到两个核心需求

# Python # 并发编程 # 多线程
2026-04-24 198 0

Java ReentrantReadWriteLock的锁降级机制实现

Java ReentrantReadWriteLock的锁降级机制实现 在Java并发编程中,ReentrantReadWriteLock 提供了一种比互斥锁更灵活的锁机制,允许多

# Java # 并发编程 # 读写锁
2026-04-23 144 0

Java Thread.sleep的精度与操作系统调度粒度

Java Thread.sleep的精度与操作系统调度粒度 Java多线程编程中,控制线程执行节奏最直接的手段是调用 Thread.sleep。许多开发者默认认为传入 1000 毫

# Java # 多线程 # 线程休眠
2026-04-22 193 0

C++ std::thread局部存储thread_local的生命周期

threadlocal 关键字在 C++11 中引入,用于声明线程局部存储(ThreadLocal Storage, TLS)对象。这意味着每个线程都拥有该对象的独立副本,互不干扰

# C++ # 多线程 # 线程局部存储
2026-04-22 166 0

Java AtomicStampedReference解决ABA问题的版本号机制

Java AtomicStampedReference解决ABA问题的版本号机制 在多线程环境中使用 CAS(CompareAndSwap)操作时,会遇到一个被称为“ABA 问题”

# Java # 多线程 # 并发编程
2026-04-22 161 0

Java CompletableFuture.thenAccept与thenRun的返回值差异

Java CompletableFuture.thenAccept与thenRun的返回值差异 在 Java 异步编程中,CompletableFuture 是处理并发任务的核心工

# Java # 异步编程 # 并发编程
2026-04-22 174 0

Python asyncio与多线程的性能对比:IO密集场景实测

Python asyncio与多线程的性能对比:IO密集场景实测 在处理网络爬虫、数据库查询或API请求等IO密集型任务时,CPU大部分时间都在等待IO操作完成。为了提升效率,Py

# Python # Asyncio # 多线程
2026-04-21 203 0

Java LongAccumulator在并行归约计算中的应用

Java LongAccumulator在并行归约计算中的应用 在处理高并发下的数据统计与归约计算时,传统的原子类(如 AtomicLong)往往因为激烈的竞争(CAS自旋)导致性

# Java并发 # 并行归约 # 高并发
2026-04-21 175 0

Python多线程为什么比单线程还慢?GIL锁的影响实测

Python多线程为什么比单线程还慢?GIL锁的影响实测 Python 全局解释器锁(GIL)是导致多线程在 CPU 密集型任务中性能不如单线程的核心原因。在多核 CPU 时代,这

# Python # 多线程 # GIL锁
2026-04-21 170 0

Java AQS独占锁与共享锁的实现差异

Java AQS独占锁与共享锁的实现差异 Java 并发包(JUC)中的 AbstractQueuedSynchronizer(AQS)是构建锁和同步器的基础框架。AQS 内部主要

# Java # AQS # 独占锁
2026-04-21 187 0

Java ThreadGroup的activeCount与枚举活动线程的竞态条件

Java ThreadGroup的activeCount与枚举活动线程的竞态条件 在Java多线程开发中,ThreadGroup 类提供了一种将多个线程归类管理的便捷方式。开发者经

# Java # 多线程 # 线程组
2026-04-20 159 0

Java双重检查锁单例为什么要加volatile

Java双重检查锁单例为什么要加volatile 在Java单例模式的实现中,双重检查锁定是一种常见的写法。很多开发者都知道代码中要加 volatile 关键字,但往往不清楚其深层

# Java单例模式 # 双重检查锁 # volatile
2026-04-20 163 0

C++原子操作std::memory_order在双检查锁中的应用

双检查锁模式旨在解决多线程环境下单例初始化的性能瓶颈问题。其核心目标是在保证线程安全的前提下,尽量减少锁的使用次数。尽管现代 C++ 提供了 std::callonce 等便捷工具

# C++编程 # 多线程 # 原子操作
2026-04-19 179 0

Java Thread.setUncaughtExceptionHandler的异常捕获范围

Java Thread.setUncaughtExceptionHandler的异常捕获范围 Java 多线程编程中,线程一旦抛出未检查异常且未被捕获,线程会直接终止,且默认情况下

# Java # 多线程 # 异常处理
2026-04-19 193 0

Java LockSupport.park与unpark的线程阻塞唤醒机制

Java LockSupport.park与unpark的线程阻塞唤醒机制 LockSupport 是 Java 并发包 java.util.concurrent.locks 中最

# Java # 多线程 # 并发编程
2026-04-19 163 0

Python 线程池:concurrent.futures.ThreadPoolExecutor

Python 线程池:concurrent.futures.ThreadPoolExecutor 在处理 I/O 密集型任务(如网络请求、文件读写)时,为了提高程序运行效率,我们需

# Python # 多线程 # 线程池
2026-04-17 267 0

C++ 多线程同步std::mutex与std::lock_guard

在多线程编程中,当多个线程同时访问共享数据时,会导致数据竞争,从而引发程序崩溃或产生错误结果。为了解决这一问题,C++ 标准库提供了 std::mutex(互斥锁)和 std::l

# C++ # 多线程 # 线程同步
2026-04-15 194 0