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

lang-java-concurrency-index

Java 并发五件事 — 线程池怎么配 / 为什么禁 Executors 工厂 / CompletableFuture 编排 / 锁怎么选 / ThreadLocal 怎么清。Use when 建线程池 / 写异步编排 / 选锁 / 排查并发内存泄漏的 PR 时。

子项索引

子项 一句话
thread-pool-config skill ThreadPoolExecutor 七参数配置 — 核心/最大线程、有界队列、命名 ThreadFactory、拒绝策略,含 CPU/IO 密集线程数估算
thread-pool-types skill 禁用 Executors.newFixedThreadPool/newCachedThreadPool 工厂 — 无界队列或无界线程都会 OOM,必须手写 ThreadPoolExecutor
completablefuture skill CompletableFuture 异步编排 — supplyAsync 必传自定义线程池、thenCompose vs thenCombine、exceptionally 兜异常
lock-choice skill 锁选型 — synchronized(简单互斥)vs ReentrantLock(要 tryLock/超时/可中断)vs ReadWriteLock(读多写少),且 Lock 必须 try-finally 里 unlock
threadlocal-cleanup skill 线程池里用 ThreadLocal 必须在 finally 里 remove — 线程复用导致脏数据残留 + Entry key 弱引用造成 value 内存泄漏

Concurrency · 子项索引

并发拆成五个独立决策点,按你正在做的事下钻:

你在做什么 进哪个
要 new 一个线程池,纠结七个参数、拒绝策略、线程数、线程命名 thread-pool-config
想用 Executors.newFixedThreadPool / newCachedThreadPool 图省事 thread-pool-types
用 CompletableFuture 做异步编排(supplyAsync / thenCompose / 异常) completablefuture
多线程共享可变状态,纠结用 synchronized 还是 Lock lock-choice
在线程池里用了 ThreadLocal,担心内存泄漏或脏数据 threadlocal-cleanup