并发

Mr. zhihao2 天前
并发·cas
彻底搞懂 LongAdder:解决 AtomicLong 高并发 CPU 空转难题(原理+案例+场景对比)在 Java 并发编程中,我们都知道 AtomicLong 依靠 CAS 乐观锁实现无锁原子计数,规避了 synchronized 重量级锁的内核态切换、上下文切换、缓存失效等性能损耗。
随遇而安zx3 天前
java·并发·disruptor
【并发】---Disruptor 原理、源码与实战 深度解析基于:LMAX Disruptor 4.0.0(2023-09-29 发布,Java 11+);文内标注 ⚠️ 4.0 变更 处为与 3.4.4 的差异
随遇而安zx7 天前
java·多线程·并发
【多线程】---实战:CompletableFuture编排基于:JDK 8+(orTimeout、completeOnTimeout、Executor defaultExecutor() 等标注 JDK 9+)
随遇而安zx7 天前
java·多线程·并发
【多线程】---ConcurrentHashMap 源码解析基于:OpenJDK JDK 8u 的 java.util.concurrent.ConcurrentHashMap(对照 JDK 7 分段锁实现与 JDK 9+ 演进)
samble11 天前
c#·wpf·并发·mvvm·线程安全·工业控制
从零搭建工业控制系统(二十二):线程安全与并发控制这是「从零搭建工业控制系统」系列第22篇。前面讲了状态管理,这篇讲并发——工业软件有十几个后台服务同时跑,怎么保证不互相打架。
my_realmy12 天前
java·多线程·并发··生产者消费者模式
Java SE 基础学习笔记(一):面向对象、继承多态、抽象接口与异常(JDK 8)适用版本:JDK 8 学习目标:把“类、对象、封装、继承、多态、抽象、接口、内部类、异常”串成一个完整的知识框架。 阅读建议:代码按知识点拆分;为展示继承、接口等关系,部分片段会把相关类型放在一起。实际运行时,请将每个 public class 放在同名的 .java 文件中,并补齐片段依赖的类型。
Mr. zhihao13 天前
jvm·并发·偏向锁
JVM 偏向锁 4 秒延迟:从源码动机到 JEP-374 废弃全链路面试高频考点:偏向锁为什么要延迟启动?启动期到底哪些对象在抢锁?后来为什么整个偏向锁都被删了? 本文所有结论均附 OpenJDK 源码 / JEP 原文出处,不杜撰。
名字还没想好☜23 天前
开发语言·爬虫·python·并发·asyncio
Python asyncio.Queue 实战:用生产者-消费者给爬虫/任务流限速又解耦写异步爬虫或批量任务时,新手最容易掉进的坑是这样的:一次性把 5000 个 URL 全丢进 asyncio.gather。
莫得感情 o1 个月前
java·并发
并发 14 · 收官:虚拟线程与结构化并发第 8 篇讲线程池时,我们花了很大篇幅回答一个问题:“到底该开多少线程?” 答案是一套要权衡 CPU 核数、IO 等待占比、还得靠压测反复迭代的经验公式。第 13 篇讲异步编排时,我们又用 CompletableFuture 把一段本来很直白的业务逻辑,拆成了一串 thenCompose、thenCombine 的链式回调——为的是在等 IO 的时候别把宝贵的线程占着。
喵同志不止步于码农1 个月前
java·开发语言·后端·并发·缓存一致性
Java Caffeine 快速入门在高并发读写的场景下,基础的ConcurrentHashMap 可以保证并发安全,但是过期策略、淘汰策略都需要手动实现,Guava Cache由此诞生,但是身为“智能缓存”的Guava Cache本身不够“智能”。因为LRU缓存在少数场景下可能无法保证高缓存命中率,因此高并发场景下,其依旧存在瓶颈。这也是Caffeine产生的原因,继承 Guava Cache 的优雅 API, 同时在性能和命中率上实现质的飞跃。
莫得感情 o1 个月前
java·并发
并发 13 · 异步编排秒杀下单成功之后,系统要做好几件事:生成订单、扣减库存(如果放在下单接口内已经做过,这里可能是记账/对账)、给用户发一张优惠券、给下游推送一条消息通知发货系统。这几件事有的必须先后串起来(订单生成依赖扣库存成功),有的互不依赖可以并行跑(发优惠券和推消息谁也不用等谁),如果全部塞进一个方法里顺序同步执行,接口响应时间就是这几步耗时的总和——用户会觉得"下单怎么这么慢"。
莫得感情 o1 个月前
java·并发
并发 11 · 同步工具类秒杀活动零点开始之前,系统通常要做一轮"预热":库存服务要把商品库存加载进 Redis,优惠券服务要初始化好发券规则,风控服务要拉取好黑名单——主线程必须等这几个子系统都准备好,才能把"允许下单"的开关打开。这是一个典型的"等待多个任务全部完成"的协作场景,靠前面几篇讲的锁或者 BlockingQueue 都不太顺手,因为这里的诉求不是互斥、也不是传递数据,而是线程之间的节奏协调。
莫得感情 o1 个月前
java·并发
并发 04 · CAS 与原子类上一篇讲锁升级时,轻量级锁那一级反复出现一个词——CAS。线程抢轻量级锁靠它、自旋重试也靠它。这一篇就把这个藏在幕后的主角请到台前:CAS 到底是什么?它凭什么能在"不加锁"的情况下,保证 count++ 这种复合操作的原子性? 要知道,第 3 篇我们才刚说 volatile 做不到原子的自增、得上 synchronized——可整个 java.util.concurrent 包里,有一大批类偏偏做到了"无锁 + 原子",它们靠的正是 CAS。
liulilittle1 个月前
c++·安全·并发·术语
并发与内存安全术语:定义、分类与关联本文界定并发编程与系统安全领域六个核心术语(RC、DC、TOCTOU、UAF、UB、CC)的内涵、外延及相互关系,并补充邻近术语。描述基于事实与标准,不做价值判断。
liulilittle1 个月前
开发语言·c++·set·map·并发·无锁·lock-free
无锁并发容器的设计与实现原理——以 mpmc_map 为例的工程化剖析本文以 mpmc_map 库(头文件式 C++11 并发容器:unordered_map、unordered_set、map、set)为对象,系统阐述无锁并发容器从内存模型到工程实现的完整原理。内容包括:并发容器面临的核心问题(锁的代价与内存回收);C++11 原子操作与内存序的基础;分离序链表与并发红黑树两种引擎的算法结构、操作协议与线性化论证;世代回收与危险指针两种回收方案的安全论证与成本模型;节点池、扩容、预取等工程细节及其测量依据;性能数据的诚实解读;以及
liulilittle1 个月前
算法·多线程·并发·无锁·mpmc·lock-free
无锁多生产者多消费者队列的工程实现剖析——算法、内存模型与性能以单头文件 C++11 库 mpmc::queue 为例仓库:https://github.com/liulilittle/mpmc_queue
apocelipes1 个月前
c语言·并发·linux编程
Linux NTSYNC 简明教程ntsync是Linux内核在6.14引入的新功能,它可以在Linux模拟Windows的可等待对象操作。
晨曦中的暮雨2 个月前
java·并发·个人项目
Virtual Thread 优化 Spring AI 阻塞式 LLM I/O:对照压测报告在基于 Spring AI 的 LLM 调用链中,ChatClient.prompt().call() 属于同步阻塞式 HTTP I/O。请求等待模型响应期间,业务线程几乎不消耗 CPU,却会持续占用平台线程。当并发量超过固定线程池容量后,大量请求会进入执行器队列,导致端到端延迟快速增长。
名字还没想好☜2 个月前
数据库·python·php·并发
Python concurrent.futures 实战:用 ThreadPoolExecutor 并发处理 + as_completed 收结果你手头有 200 个 URL 要抓,串行 requests.get 一个个跑,每个网络往返 300ms,光等待就是一分多钟,CPU 全程在打瞌睡。这类「一堆各自独立、主要在等 IO」的活儿,正是线程池的主场。但很多人第一次用 ThreadPoolExecutor 就踩坑:要么用 map 拿不到异常,要么用 submit 后不知道怎么优雅地边完成边收结果。这篇把这些坑一次讲清楚。
神奇霸王龙2 个月前
人工智能·ai·架构·agent·ai编程·并发·claude
Claude Code 三层架构Subagent并发优化实战适用读者:想用 Claude Code Subagent 跑大型 monorepo 并行重构、正在评估 Sonnet / Fable / DeepSeek / 国产编程模型兼容性的工程团队负责人 阅读时长:约 12 分钟 测试时间:2026 年 7 月(基于 炻光 AI 接入管理平台 公开文档)