AbstractQueuedSynchronizer

Posted emoji-emoji

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AbstractQueuedSynchronizer相关的知识,希望对你有一定的参考价值。

AbstractQueuedSynchronizer:

/**
     * 同步等待队列的头节点,懒汉式初始化。只能通过setHead方法来改变该属性。
     * 注:如果头节点存在,那么它的waitStatus可以保证一定不是CANCELLED。
     */
    private transient volatile Node head;

    /**
     * Tail of the wait queue, lazily initialized.  Modified only via
     * method enq to add new wait node.
     */
    /**
     * 同步等待队列的尾节点,懒汉式初始化。只有通过enq()方法来添加一个新的等待节点时才会改变该属性。
     */
    private transient volatile Node tail;

    /**
     * The synchronization state.
     */
    //同步状态
    private volatile int state;

 

以上是关于AbstractQueuedSynchronizer的主要内容,如果未能解决你的问题,请参考以下文章

ReentrantLock原理源码详解

一行一行源码分析清楚 AbstractQueuedSynchronizer

Java并发-- AQS 原理