Java 并发编程之 ReentrantLock
ReentrantLock,可重入锁,基于 AQS 的机制,实现了公平锁和非公平锁,给开发者提供了一个更为灵活的锁实现,既然是个锁,ReentrantLock 也实现了 Lock
接口
ReentrantLock,可重入锁,基于 AQS 的机制,实现了公平锁和非公平锁,给开发者提供了一个更为灵活的锁实现,既然是个锁,ReentrantLock 也实现了 Lock
接口
AQS,全称为 AbstractQueuedSynchronizer,是 JUC 包中的一个抽象类,为开发者提供了编写同步锁的机制
其中封装了 FIFO(first in first out) 的队列
简单回顾一下 Java 的中断机制
Java 中的线程 Thread 有以下三个方法
本文基于 JDK 1.8 分析
HashMap 是非线程安全的类,在多线程并发 put 导致 resize,在 transfer 过程中可能导致死锁或者数据丢失
而 ConcurrentHashMap 则是一个线程安全的 Map 类,在 HashMap 的基础上做了线程安全的处理
所谓代理模式,就是指「代理对象」(或者我们形象地称呼为中介),通过实现接口类具有了接口的能力,并通过和「实际的生产者」产生联系,将「实际生产者」的能力通过自己中转给「客户(调用者)」
客户不直接通过「实际生产者」获取信息,而是跟「代理对象(中介)」打交道获取信息
本文解释 Java 中的字符串编码