Prompts-MCP 686 skills · ai / design / design-pattern / framework / fundamentals / habit / lang / tech-selection /mcp/sse
fundamentals fundamentals/concurrency-internals/index.md medium

fundamentals-concurrency-internals-index

Java 并发内功四件事(原理服务于选型)— 锁升级指导 synchronized/Lock 选型、volatile 适用边界、CAS 与 LongAdder 计数选型、用 happens-before 判线程安全。Use when 选并发原语 / 判断线程安全 / 评审同步代码时。

子项索引

子项 一句话
concurrency-synchronized-vs-lock skill 用锁升级原理指导 synchronized vs ReentrantLock 选型 — 简单同步靠 JVM 优化选 synchronized,要 tryLock/公平/可中断/多条件才上 Lock
concurrency-volatile-boundary skill volatile 适用边界 — 它只保证可见性 + 禁重排,不保证复合操作原子性;适合状态标志位,i++/check-then-act 这类非原子操作必须改用原子类或锁
concurrency-cas-and-longadder skill CAS 原理与原子类选型 — 低/中并发计数用 AtomicLong,高并发热点计数用 LongAdder(分段累加减少 CAS 失败重试);并理解 CAS 的 ABA 问题与解法
concurrency-happens-before skill 用 happens-before 规则判断"这段并发代码线程安全吗" — 把 JMM 的可见性保证落成可逐条检查的判据(写是否对读可见)

Concurrency Internals · 子项索引

并发内功拆成四个独立决策点,原理用来指导"该用哪个",不背八股。按你正在做的事下钻:

你在做什么 进哪个
纠结同步用 synchronized 还是 ReentrantLock(凭锁升级原理选) synchronized-vs-lock
某变量想加 volatile,不确定够不够(如 i++ 行不行) volatile-boundary
写并发计数器,选 AtomicLong 还是 LongAdder / 遇到 ABA cas-and-longadder
判断"这段并发代码到底线程安全吗",找可见性依据 happens-before

这里讲原理→选型。线程池/异步编排等用法../../lang/java/concurrency/index.md