标签:NonReentrantLock

JAVA

如何保证LinkedHashMap以及它实现LRU缓存线程安全

herman 3年前 (2021-08-09) 2657浏览

本文首发于我的个人公众号“业余草”,由于公众号不利于搜索,这里同步到我的个人网站上。 昨天有一位网友对我的一篇文章进行了评论,留言说到:线程安全的 LinkedHashMap 怎么实现? 线程安全的 LinkedHashMap 我...

JAVA

Java 锁粗化与循环

herman 4年前 (2020-02-28) 1987浏览

锁粗化(Lock Coarsening)。锁粗化是合并使用相同锁对象的相邻同步块的过程。如果编译器不能使用锁省略(Lock Elision)消除锁,那么可以使用锁粗化来减少开销。 众所周知,Hotspot 确实进行了锁粗化优化,可以有效合并几...

JAVA

从 ReentrantReadWriteLock 说独享锁(排他锁)与共享锁

herman 5年前 (2018-11-22) 3410浏览

阅读前面的文章,我们知道 ReentrantLock 是一个高效的锁,它既能用作公平锁,又能用作非公平锁!但是有了 ReentrantLock 后,为什么还需要 ReentrantReadWriteLock 呢? 那就需要从排他锁和共享锁说...

JAVA

图解 Java 中的可重入锁与非可重入锁

herman 5年前 (2018-11-22) 2793浏览

写锁呢就不可避免的要说可重入锁与不可重入锁。不可重入锁也有人成为非可重入锁,都是一个意思,不同的叫法而已! 前面我有篇文章《synchronized 是可重入锁吗?为什么?》写过 synchronized,今天我们再来借助 syn...