
多线程并发编程
LiMoyA
故不积跬步 无以至千里 不积小流 无以成江海
展开
-
一篇文章带你读懂ConcurrentHashMap的源码和原理
目录一、为什么要使用ConcurrentHashMapHashMapJDK1.7(闭环)JDK(1.8)Hashtable二、ConcurrentHashMap源码解析ConcurrentHashMap的数据结构ConcurrentHashMap是如何保证线程安全的呢?ConucurrentHashMap分析put()putVal()initTable()tabAt()addCount()fullAddCount()sumCount()..原创 2020-11-17 16:19:07 · 380 阅读 · 0 评论 -
吃透AQS的核心原理,有这一篇文章就够啦
ReentrantLock 的实现原理 我们知道锁的基本原理是,基于将多线程并行任务通过某一种机制实现线程的串 行执行,从而达到线程安全性的目的。在 synchronized 中,偏向锁、 轻量级锁、乐观锁。基于乐观锁以及自旋锁来优化了 synchronized 的加锁开销, 同时在重量级锁阶段,通过线程的阻塞以及唤醒来达到线程竞争和同步的目的。 那么在ReentrantLock中,也一定会存在这样的需要去解决的问题。就是在多线程 竞争重入锁时,竞争失败的线程是如何实现阻塞以及被唤醒的呢?...原创 2020-11-05 16:35:25 · 515 阅读 · 0 评论