Java 同步锁--AbstractQueuedSynchronizer
# 前言
AQS 是一个同步框架的抽象类,实现了锁相关的操作和一个先进先出的阻塞队列,可以通过集成它来实现同步锁操作。它提供的主要方法有 acquire 和 release,获取和释放锁。
Java 阻塞队列--DelayQueue
# 前言
它是一个具有延时的队列,队列中的元素必须实现 getDelay 和 compareTo 方法。
# 源码分析
# Delay
Delayed 接口定义了 getDelay 方法,获取每个元素的延时时间,同时也继承了 Comparable 接口,来比较元素之间的大小。
ConcurrentHashMap 源码分析
# 前言
HashMap 虽然很常用,但是线程不安全,具体哪里会线程不安全呢?可以看看 ConcurrentHash 是如何处理线程安全的,它就是对 HashMap 线程安全的改造。HashTable 也是线程安全的,但是它采用了在方法同步的方式,效率很低。
注:本文仅针对 JDK8。