From 0db9dcb16d1f9d31d92593e77b22a4a8be70880e Mon Sep 17 00:00:00 2001 From: AmyliaY <471816751@qq.com> Date: Mon, 16 Mar 2020 21:01:22 +0800 Subject: [PATCH] =?UTF-8?q?J.U.C=20=E4=B9=8B=20Lock=E9=94=81=E7=BB=84?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 7 +- docs/JDK/Lock锁组件.md | 648 +++++++++++++++++++++++++++ images/JDK1.8/JUC的locks包.png | Bin 0 -> 9716 bytes images/JDK1.8/JUC锁组件类图.png | Bin 0 -> 101324 bytes 4 files changed, 652 insertions(+), 3 deletions(-) create mode 100644 docs/JDK/Lock锁组件.md create mode 100644 images/JDK1.8/JUC的locks包.png create mode 100644 images/JDK1.8/JUC锁组件类图.png diff --git a/README.md b/README.md index 6084e5c..e671e2e 100644 --- a/README.md +++ b/README.md @@ -135,9 +135,10 @@ ## 番外篇(JDK 1.8) - [Executor 线程池组件](docs/JDK/Executor线程池组件.md) -- [HashMap 源码赏析]() -- [ConcurrentHashMap 源码赏析]() -- [String 源码赏析]() +- [Lock 锁组件](docs/JDK/Lock锁组件.md) +- [HashMap 源码赏析](docs/JDK/HashMap.md) +- [ConcurrentHashMap 源码赏析](docs/JDK/ConcurrentHashMap.md) +- [String 源码赏析](docs/JDK/String.md) ## 学习心得 ### 个人经验 diff --git a/docs/JDK/Lock锁组件.md b/docs/JDK/Lock锁组件.md new file mode 100644 index 0000000..c4c549a --- /dev/null +++ b/docs/JDK/Lock锁组件.md @@ -0,0 +1,648 @@ +## 类图结构 +J.U.C 的锁组件中 类相对较少,从JDK相应的包中也能看出来,下图标记了其中最主要的几个接口和类,也是本文要分析的重点。 + +![avatar](/images/JDK1.8/JUC的locks包.png) + +下图 将这几个接口和类 以类图的方式展现出来,其中包含了它们所声明的主要方法。 + +![avatar](/images/JDK1.8/JUC锁组件类图.png) + +## Lock 组件 +Lock 组件的结构很简单,只有一个接口和一个实现类,源码如下。 +```java +public interface Lock { + + /** + * 获取锁 + */ + void lock(); + + /** + * 获取锁,除非当前线程中断 + */ + void lockInterruptibly() throws InterruptedException; + + /** + * 只有当调用时 锁是空闲的情况下,才获取锁 + */ + boolean tryLock(); + + /** + * 如果锁在给定的等待时间内空闲且当前线程未被中断,则获取该锁 + */ + boolean tryLock(long time, TimeUnit unit) throws InterruptedException; + + /** + * 释放锁 + */ + void unlock(); +} + +public class ReentrantLock implements Lock, java.io.Serializable { + + /** 提供所有实现机制的同步器,ReentrantLock 的主要方法都依赖于该对象进行实现 */ + private final Sync sync; + + /** + * ReentrantLock锁 的同步控制基础。它的两个子类分别实现了公平锁和非公平锁,如下。 + */ + abstract static class Sync extends AbstractQueuedSynchronizer { + private static final long serialVersionUID = -5179523762034025860L; + + abstract void lock(); + + /** + * Performs non-fair tryLock. tryAcquire is implemented in + * subclasses, but both need nonfair try for trylock method. + */ + final boolean nonfairTryAcquire(int acquires) { + final Thread current = Thread.currentThread(); + int c = getState(); + if (c == 0) { + if (compareAndSetState(0, acquires)) { + setExclusiveOwnerThread(current); + return true; + } + } + else if (current == getExclusiveOwnerThread()) { + int nextc = c + acquires; + if (nextc < 0) // overflow + throw new Error("Maximum lock count exceeded"); + setState(nextc); + return true; + } + return false; + } + + protected final boolean tryRelease(int releases) { + int c = getState() - releases; + if (Thread.currentThread() != getExclusiveOwnerThread()) + throw new IllegalMonitorStateException(); + boolean free = false; + if (c == 0) { + free = true; + setExclusiveOwnerThread(null); + } + setState(c); + return free; + } + + final boolean isLocked() { + return getState() != 0; + } + } + + /** + * 非公平锁,基于上面的 Sync类 + */ + static final class NonfairSync extends Sync { + private static final long serialVersionUID = 7316153563782823691L; + + final void lock() { + if (compareAndSetState(0, 1)) + setExclusiveOwnerThread(Thread.currentThread()); + else + acquire(1); + } + + protected final boolean tryAcquire(int acquires) { + return nonfairTryAcquire(acquires); + } + } + + /** + * 公平锁,基于上面的 Sync类 + */ + static final class FairSync extends Sync { + private static final long serialVersionUID = -3000897897090466540L; + + final void lock() { + acquire(1); + } + + protected final boolean tryAcquire(int acquires) { + final Thread current = Thread.currentThread(); + int c = getState(); + if (c == 0) { + if (!hasQueuedPredecessors() && + compareAndSetState(0, acquires)) { + setExclusiveOwnerThread(current); + return true; + } + } + else if (current == getExclusiveOwnerThread()) { + int nextc = c + acquires; + if (nextc < 0) + throw new Error("Maximum lock count exceeded"); + setState(nextc); + return true; + } + return false; + } + } + + /** + * 无参初始化时,默认实例化 非公平锁 + */ + public ReentrantLock() { + sync = new NonfairSync(); + } + + /** + * 可通过参数fair 控制实例化的是 公平锁还是非公平锁 + */ + public ReentrantLock(boolean fair) { + sync = fair ? new FairSync() : new NonfairSync(); + } + + public void lock() { + sync.lock(); + } + + public boolean tryLock() { + return sync.nonfairTryAcquire(1); + } + + public boolean tryLock(long timeout, TimeUnit unit) + throws InterruptedException { + return sync.tryAcquireNanos(1, unit.toNanos(timeout)); + } + + public void unlock() { + sync.release(1); + } + + public boolean isLocked() { + return sync.isLocked(); + } + + public final boolean isFair() { + return sync instanceof FairSync; + } +} +``` + +## ReadWriteLock 组件 +ReadWriteLock 组件的结构也很简单,与上面的 Lock组件 不同的是,它提供了 公平的读锁写锁,以及非公平的读锁写锁。 +```java +public interface ReadWriteLock { + /** + * 获取一个 读锁 + */ + Lock readLock(); + + /** + * 获取一个 写锁 + */ + Lock writeLock(); +} + +public class ReentrantReadWriteLock implements ReadWriteLock, java.io.Serializable { + + /** 由内部类提供的读锁 */ + private final ReentrantReadWriteLock.ReadLock readerLock; + /** 由内部类提供的写锁 */ + private final ReentrantReadWriteLock.WriteLock writerLock; + /** 提供所有实现机制的同步器 */ + final Sync sync; + + /** + * 默认创建 非公平的读锁写锁 + */ + public ReentrantReadWriteLock() { + this(false); + } + + /** + * 由参数 fair 指定读锁写锁是公平的还是非公平的 + */ + public ReentrantReadWriteLock(boolean fair) { + sync = fair ? new FairSync() : new NonfairSync(); + readerLock = new ReadLock(this); + writerLock = new WriteLock(this); + } + + /** + * 获取写锁 + * 获取读锁 + */ + public ReentrantReadWriteLock.WriteLock writeLock() { return writerLock; } + public ReentrantReadWriteLock.ReadLock readLock() { return readerLock; } + + abstract static class Sync extends AbstractQueuedSynchronizer { + + protected final boolean tryRelease(int releases) { + if (!isHeldExclusively()) + throw new IllegalMonitorStateException(); + int nextc = getState() - releases; + boolean free = exclusiveCount(nextc) == 0; + if (free) + setExclusiveOwnerThread(null); + setState(nextc); + return free; + } + + protected final boolean tryAcquire(int acquires) { + /* + * Walkthrough: + * 1. If read count nonzero or write count nonzero + * and owner is a different thread, fail. + * 2. If count would saturate, fail. (This can only + * happen if count is already nonzero.) + * 3. Otherwise, this thread is eligible for lock if + * it is either a reentrant acquire or + * queue policy allows it. If so, update state + * and set owner. + */ + Thread current = Thread.currentThread(); + int c = getState(); + int w = exclusiveCount(c); + if (c != 0) { + // (Note: if c != 0 and w == 0 then shared count != 0) + if (w == 0 || current != getExclusiveOwnerThread()) + return false; + if (w + exclusiveCount(acquires) > MAX_COUNT) + throw new Error("Maximum lock count exceeded"); + // Reentrant acquire + setState(c + acquires); + return true; + } + if (writerShouldBlock() || + !compareAndSetState(c, c + acquires)) + return false; + setExclusiveOwnerThread(current); + return true; + } + + protected final boolean tryReleaseShared(int unused) { + Thread current = Thread.currentThread(); + if (firstReader == current) { + // assert firstReaderHoldCount > 0; + if (firstReaderHoldCount == 1) + firstReader = null; + else + firstReaderHoldCount--; + } else { + HoldCounter rh = cachedHoldCounter; + if (rh == null || rh.tid != getThreadId(current)) + rh = readHolds.get(); + int count = rh.count; + if (count <= 1) { + readHolds.remove(); + if (count <= 0) + throw unmatchedUnlockException(); + } + --rh.count; + } + for (;;) { + int c = getState(); + int nextc = c - SHARED_UNIT; + if (compareAndSetState(c, nextc)) + // Releasing the read lock has no effect on readers, + // but it may allow waiting writers to proceed if + // both read and write locks are now free. + return nextc == 0; + } + } + + protected final int tryAcquireShared(int unused) { + /* + * Walkthrough: + * 1. If write lock held by another thread, fail. + * 2. Otherwise, this thread is eligible for + * lock wrt state, so ask if it should block + * because of queue policy. If not, try + * to grant by CASing state and updating count. + * Note that step does not check for reentrant + * acquires, which is postponed to full version + * to avoid having to check hold count in + * the more typical non-reentrant case. + * 3. If step 2 fails either because thread + * apparently not eligible or CAS fails or count + * saturated, chain to version with full retry loop. + */ + Thread current = Thread.currentThread(); + int c = getState(); + if (exclusiveCount(c) != 0 && + getExclusiveOwnerThread() != current) + return -1; + int r = sharedCount(c); + if (!readerShouldBlock() && + r < MAX_COUNT && + compareAndSetState(c, c + SHARED_UNIT)) { + if (r == 0) { + firstReader = current; + firstReaderHoldCount = 1; + } else if (firstReader == current) { + firstReaderHoldCount++; + } else { + HoldCounter rh = cachedHoldCounter; + if (rh == null || rh.tid != getThreadId(current)) + cachedHoldCounter = rh = readHolds.get(); + else if (rh.count == 0) + readHolds.set(rh); + rh.count++; + } + return 1; + } + return fullTryAcquireShared(current); + } + + /** + * Performs tryLock for write, enabling barging in both modes. + * This is identical in effect to tryAcquire except for lack + * of calls to writerShouldBlock. + */ + final boolean tryWriteLock() { + Thread current = Thread.currentThread(); + int c = getState(); + if (c != 0) { + int w = exclusiveCount(c); + if (w == 0 || current != getExclusiveOwnerThread()) + return false; + if (w == MAX_COUNT) + throw new Error("Maximum lock count exceeded"); + } + if (!compareAndSetState(c, c + 1)) + return false; + setExclusiveOwnerThread(current); + return true; + } + + /** + * Performs tryLock for read, enabling barging in both modes. + * This is identical in effect to tryAcquireShared except for + * lack of calls to readerShouldBlock. + */ + final boolean tryReadLock() { + Thread current = Thread.currentThread(); + for (;;) { + int c = getState(); + if (exclusiveCount(c) != 0 && + getExclusiveOwnerThread() != current) + return false; + int r = sharedCount(c); + if (r == MAX_COUNT) + throw new Error("Maximum lock count exceeded"); + if (compareAndSetState(c, c + SHARED_UNIT)) { + if (r == 0) { + firstReader = current; + firstReaderHoldCount = 1; + } else if (firstReader == current) { + firstReaderHoldCount++; + } else { + HoldCounter rh = cachedHoldCounter; + if (rh == null || rh.tid != getThreadId(current)) + cachedHoldCounter = rh = readHolds.get(); + else if (rh.count == 0) + readHolds.set(rh); + rh.count++; + } + return true; + } + } + } + + final boolean isWriteLocked() { + return exclusiveCount(getState()) != 0; + } + } + + /** + * 非公平锁 + */ + static final class NonfairSync extends Sync { + + final boolean writerShouldBlock() { + return false; // writers can always barge + } + final boolean readerShouldBlock() { + /* As a heuristic to avoid indefinite writer starvation, + * block if the thread that momentarily appears to be head + * of queue, if one exists, is a waiting writer. This is + * only a probabilistic effect since a new reader will not + * block if there is a waiting writer behind other enabled + * readers that have not yet drained from the queue. + */ + return apparentlyFirstQueuedIsExclusive(); + } + } + + /** + * 公平锁 + */ + static final class FairSync extends Sync { + + final boolean writerShouldBlock() { + return hasQueuedPredecessors(); + } + final boolean readerShouldBlock() { + return hasQueuedPredecessors(); + } + } + + /** + * 读锁 + */ + public static class ReadLock implements Lock, java.io.Serializable { + + private final Sync sync; + + protected ReadLock(ReentrantReadWriteLock lock) { + sync = lock.sync; + } + + public void lock() { + sync.acquireShared(1); + } + + public void lockInterruptibly() throws InterruptedException { + sync.acquireSharedInterruptibly(1); + } + + public boolean tryLock() { + return sync.tryReadLock(); + } + + public boolean tryLock(long timeout, TimeUnit unit) + throws InterruptedException { + return sync.tryAcquireSharedNanos(1, unit.toNanos(timeout)); + } + + public void unlock() { + sync.releaseShared(1); + } + } + + /** + * 写锁 + */ + public static class WriteLock implements Lock, java.io.Serializable { + + private final Sync sync; + + protected WriteLock(ReentrantReadWriteLock lock) { + sync = lock.sync; + } + + public void lock() { + sync.acquire(1); + } + + public void lockInterruptibly() throws InterruptedException { + sync.acquireInterruptibly(1); + } + + public boolean tryLock( ) { + return sync.tryWriteLock(); + } + + public boolean tryLock(long timeout, TimeUnit unit) + throws InterruptedException { + return sync.tryAcquireNanos(1, unit.toNanos(timeout)); + } + + public void unlock() { + sync.release(1); + } + } + + public final boolean isFair() { + return sync instanceof FairSync; + } + + public boolean isWriteLocked() { + return sync.isWriteLocked(); + } +} +``` + +## AbstractQueuedSynchronizer +最后看一下抽象类 AbstractQueuedSynchronizer,在同步组件的实现中,AQS是核心部分,同步组件的实现者通过使用 AQS 提供的模板方法实现同步组件语义,AQS 则实现了对同步状态的管理,以及对阻塞线程进行排队,等待通知等等一些底层的实现处理。AQS 的核心包括:同步队列,独占式锁的获取和释放,共享锁的获取和释放以及可中断锁,超时等待锁获取这些特性的实现,而这些实际上则是AQS提供出来的模板方法。源码如下。 +```java +public abstract class AbstractQueuedSynchronizer extends AbstractOwnableSynchronizer + implements java.io.Serializable { + + /** + * 当共享资源被某个线程占有,其他请求该资源的线程将会阻塞,从而进入同步队列。 + * 就数据结构而言,队列的实现方式无外乎两者一是通过数组的形式,另外一种则是链表的形式。 + * AQS中的同步队列则是通过链式方式进行实现,下面的内部类Node便是其实现的载体 + */ + static final class Node { + + /** Marker to indicate a node is waiting in shared mode */ + static final Node SHARED = new Node(); + /** Marker to indicate a node is waiting in exclusive mode */ + static final Node EXCLUSIVE = null; + + // 节点从同步队列中取消 + static final int CANCELLED = 1; + // 后继节点的线程处于等待状态,如果当前节点释放同步状态会通知后继节点, + // 使得后继节点的线程能够运行; + static final int SIGNAL = -1; + // 当前节点进入等待队列中 + static final int CONDITION = -2; + // 表示下一次共享式同步状态获取将会无条件传播下去 + static final int PROPAGATE = -3; + + // 节点状态 + volatile int waitStatus; + + // 当前节点/线程的前驱节点 + volatile Node prev; + + // 当前节点/线程的后驱节点 + volatile Node next; + + // 加入同步队列的线程引用 + volatile Thread thread; + + // 等待队列中的下一个节点 + Node nextWaiter; + + final boolean isShared() { + return nextWaiter == SHARED; + } + + final Node predecessor() throws NullPointerException { + Node p = prev; + if (p == null) + throw new NullPointerException(); + else + return p; + } + + Node() { // Used to establish initial head or SHARED marker + } + + Node(Thread thread, Node mode) { // Used by addWaiter + this.nextWaiter = mode; + this.thread = thread; + } + + Node(Thread thread, int waitStatus) { // Used by Condition + this.waitStatus = waitStatus; + this.thread = thread; + } + } + + /** + * AQS实际上通过头尾指针来管理同步队列,同时实现包括获取锁失败的线程进行入队, + * 释放锁时对同步队列中的线程进行通知等核心方法。 + */ + private transient volatile Node head; + private transient volatile Node tail; + + /** + * 获取独占式锁 + */ + public final void acquire(int arg) { + if (!tryAcquire(arg) && + acquireQueued(addWaiter(Node.EXCLUSIVE), arg)) + selfInterrupt(); + } + + /** + * 释放独占式锁 + */ + public final boolean release(int arg) { + if (tryRelease(arg)) { + Node h = head; + if (h != null && h.waitStatus != 0) + unparkSuccessor(h); + return true; + } + return false; + } + + /** + * 获取可中断式锁 + */ + public final void acquireInterruptibly(int arg) + throws InterruptedException { + if (Thread.interrupted()) + throw new InterruptedException(); + if (!tryAcquire(arg)) + doAcquireInterruptibly(arg); + } + + /** + * 获取共享锁 + */ + public final void acquireShared(int arg) { + if (tryAcquireShared(arg) < 0) + doAcquireShared(arg); + } + + /** + * 释放共享锁 + */ + public final boolean releaseShared(int arg) { + if (tryReleaseShared(arg)) { + doReleaseShared(); + return true; + } + return false; + } +} +``` \ No newline at end of file diff --git a/images/JDK1.8/JUC的locks包.png b/images/JDK1.8/JUC的locks包.png new file mode 100644 index 0000000000000000000000000000000000000000..5b496545d2cd03d674f793cbcd33f61c1bf9f9e1 GIT binary patch literal 9716 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 P3#25cE?X;Y8Tr2eoFSyK literal 0 HcmV?d00001 diff --git a/images/JDK1.8/JUC锁组件类图.png b/images/JDK1.8/JUC锁组件类图.png new file mode 100644 index 0000000000000000000000000000000000000000..18543a7be15fe3979aca1cec82972c37d6f2566e GIT binary patch literal 101324 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

*e!#0g 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 literal 0 HcmV?d00001