一、同步協(xié)調(diào)類
- CountDownLatch
允許主線程等待多個子任務(wù)完成后再執(zhí)行,常用于初始化階段的同步控制(如服務(wù)啟動時加載配置)。 - CyclicBarrier
實現(xiàn)多線程在指定屏障點同步等待,適合并行計算后的結(jié)果匯總場景(如分片數(shù)據(jù)處理后合并統(tǒng)計)。 - Semaphore
控制并發(fā)訪問資源的線程數(shù)量,典型應(yīng)用包括數(shù)據(jù)庫連接池流量控制與限流防護(hù)。 - Exchanger
提供兩個線程間的數(shù)據(jù)交換通道,可用于生產(chǎn)者-消費(fèi)者模型中緩沖區(qū)傳遞。 - Phaser
支持動態(tài)注冊的同步屏障,適用于分階段團(tuán)隊協(xié)作任務(wù)(如游戲副本多階段戰(zhàn)斗同步)。 - weibo.com/ttarticle/p/show?id=2309405162968617713797
weibo.com/ttarticle/p/show?id=2309405162968747737213
weibo.com/ttarticle/p/show?id=2309405162968848400418
weibo.com/ttarticle/p/show?id=2309405162968957452301
weibo.com/ttarticle/p/show?id=2309405162969075155162
weibo.com/ttarticle/p/show?id=2309405162969200984259
weibo.com/ttarticle/p/show?id=2309405162969318162441
weibo.com/ttarticle/p/show?id=2309405162969452642506
weibo.com/ttarticle/p/show?id=2309405162969553043475
weibo.com/ttarticle/p/show?id=2309405162969674940684
weibo.com/ttarticle/p/show?id=2309405162969813352670
weibo.com/ttarticle/p/show?id=2309405162969914015801
weibo.com/ttarticle/p/show?id=2309405162970035388660
weibo.com/ttarticle/p/show?id=2309405162970631241870
weibo.com/ttarticle/p/show?id=2309405162970748682499
二、線程安全容器
- ConcurrentHashMap
高并發(fā)場景下的哈希表實現(xiàn),通過分段鎖(JDK8后改為CAS+synchronized)保證線程安全。 - CopyOnWriteArrayList
基于寫時復(fù)制機(jī)制的動態(tài)數(shù)組,適合讀多寫少的場景(如白名單配置管理)。 - ConcurrentLinkedQueue
無鎖非阻塞隊列,采用CAS算法實現(xiàn)高效并發(fā)操作,常用于任務(wù)調(diào)度系統(tǒng)。 - weibo.com/ttarticle/p/show?id=2309405162970870317249
weibo.com/ttarticle/p/show?id=2309405162971231027408
weibo.com/ttarticle/p/show?id=2309405162971344011359
weibo.com/ttarticle/p/show?id=2309405162971457519650
weibo.com/ttarticle/p/show?id=2309405162971579154488
weibo.com/ttarticle/p/show?id=2309405162971704983695
weibo.com/ttarticle/p/show?id=2309405162971813773378
weibo.com/ttarticle/p/show?id=2309405162971922825226
weibo.com/ttarticle/p/show?id=2309405162972032139467
weibo.com/ttarticle/p/show?id=2309405162972161900589
weibo.com/ttarticle/p/show?id=2309405162972258369800
weibo.com/ttarticle/p/show?id=2309405162972384198984
weibo.com/ttarticle/p/show?id=2309405162972480667687
weibo.com/ttarticle/p/show?id=2309405162972602302496
weibo.com/ttarticle/p/show?id=2309405162972715548767
weibo.com/ttarticle/p/show?id=2309405162972816474122
weibo.com/ttarticle/p/show?id=2309405162972946497817
三、原子操作類
- AtomicInteger/AtomicLong
通過CAS(Compare And Swap)實現(xiàn)線程安全的自增、累加等操作,替代同步鎖提升性能。 - AtomicReference
原子更新對象引用,適用于無鎖數(shù)據(jù)結(jié)構(gòu)實現(xiàn)(如并發(fā)棧、隊列)。
四、鎖機(jī)制擴(kuò)展
- ReentrantLock
顯式鎖支持公平/非公平模式,可結(jié)合實現(xiàn)精細(xì)化的線程等待/喚醒機(jī)制。 - Condition
- StampedLock
針對讀多寫少場景優(yōu)化的鎖,引入樂觀讀策略減少鎖競爭,提升吞吐量。
五、阻塞隊列
- ArrayBlockingQueue
基于數(shù)組的有界阻塞隊列,支持生產(chǎn)者-消費(fèi)者模型的流量削峰。 - SynchronousQueue
直接傳遞任務(wù)的零容量隊列,適用于線程間一對一高效任務(wù)傳遞。
六、線程池框架
- ExecutorService
線程池核心接口,支持、等實現(xiàn)類。 - ThreadPoolExecutor
- ScheduledThreadPool
- Fork/Join框架
基于工作竊取算法的并行計算框架,適用于遞歸任務(wù)拆分(如大規(guī)模排序算法)。
?典型應(yīng)用場景?
- 秒殺系統(tǒng):通過限流 +庫存扣減;
- Semaphore
- ConcurrentHashMap
- 數(shù)據(jù)清洗:使用拆分任務(wù) +匯總結(jié)果;
- Fork/Join
- CyclicBarrier
- 實時監(jiān)控:結(jié)合統(tǒng)計并發(fā)請求數(shù) +緩沖日志。
- AtomicLong
- ArrayBlockingQueue
當(dāng)前Java 21+版本中,虛擬線程(Virtual Threads)與結(jié)構(gòu)化并發(fā)API(JEP 453)逐漸普及,建議通過官方文檔了解與傳統(tǒng)工具類的協(xié)同使用方案。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.