标签:ReentrantLock

JAVA

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

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

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

业余杂谈

阿里 Ant Design 圣诞彩蛋变“滚蛋”、“完蛋”!

herman 6年前 (2018-12-25) 7283浏览

今天是西方的一个传统节日,圣诞节。在此期间微信支付,轰轰烈烈的搞了一个免单彩蛋。没想到阿里不甘示弱,在开源的 Ant Design 项目中埋了一个圣诞彩蛋。遭到大量的网友的吐槽! 事件的原因是这样的:Ant Design 开源框架在一个核心...

JAVA

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

herman 6年前 (2018-11-22) 3656浏览

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

JAVA

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

herman 6年前 (2018-11-22) 3019浏览

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

JAVA

图解 Java 中的公平锁与非公平锁

herman 6年前 (2018-11-22) 2933浏览

关于 Java 中的锁,我这算是写了一个系列了!今天我们进行写锁,Java 中的公平锁 VS 非公平锁。 网上关于 Java 中锁的内容有很多,所以我写的这些内容百度都不怎么喜欢,也很难搜索这些知识点到我的个人网站上。但是这些内容呢?我是想...

JAVA

学会 Java 中的锁,你只需要记住 6 句法则即可!

herman 6年前 (2018-11-17) 2514浏览

Java 中日常用到的锁大概有 14 种:悲观锁、乐观锁、自旋锁、适应性自旋锁、无锁、偏向锁、轻量级锁、重量级锁、公平锁、非公平锁、可重入锁、非可重入锁、独享锁、共享锁。 每种锁都有不同的使用场景!具体哪种场景使用哪种锁,你只需要回答下面 ...

JAVA

什么是线程安全?

herman 6年前 (2018-11-04) 2524浏览

先说一下,我为什么要写这篇文章!因为有位网友给我发了一篇关于AtomicInteger的文章:https://blog.csdn.net/fanrenxiang/article/details/80623884,说看不懂。我看了这篇文章,我说看不...

JAVA

synchronized 是可重入锁吗?为什么?

herman 6年前 (2018-10-12) 9836浏览

最近有人私信我,说面试中问到了 synchronized,被批的一塌糊涂,挂了!Why?他说其中一个问题,问他 synchronized 是可重入锁吗?他说不是!为什么不是,他说 java 中有 ReentrantLock,R...

JAVA

教你使用数据库的悲观锁 for update 创建分布式锁

herman 6年前 (2018-09-17) 4797浏览 0评论

锁不管是在工作中还是生活中都到处存在。在编程的世界中,也是普遍的存在,用不好,会产生很多麻烦问题。 前两天有一个网友在群里问我 synchronized 锁的问题,当时没怎么细说,以后有时间了来写篇文章。本文主要是介绍借用数据库的悲观锁来实...

JAVA

java ConcurrentHashMap 教程

xmt_herman_gcy 7年前 (2017-07-06) 2531浏览 0评论

ConcurrentHashMap具体是怎么实现线程安全的呢,肯定不可能是每个方法加synchronized,那样就变成了HashTable。 集合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据结构的支持。比如两个线程...

JAVA

java 高并发程序设计详解

herman 8年前 (2016-12-06) 3315浏览 0评论

有网友在面试过程中遇到了并发方面的知识,今天我就为大家简单的分析一下 java 关于并发编程和设计的知识,希望大家喜欢! 所谓并发编程是指在一台处理器上“同时”处理多个任务。并发是在同一实体上的多个事件。多个事件在同...