从源码学习Java并发的锁是怎么维护内部线程队列的
从源码学习Java并发的锁是怎么维护内部线程队列的 在上一篇文章中,凯哥对同步组件基础框架- AbstractQueuedSynchronizer(AQS)做了大概的介绍。我们知道AQS能够通过内置的FIFO队列来完成资源获取线程的排队工作。那么AQS是怎么来维护这个排队工作的呢?今天我们就来扒一扒AQS源码。从源码中来看看是怎么维护对了的。 本篇是《凯哥(凯哥Java:kagejava)并发编程学习》系列之《Lock系列》教程的第一篇:《Java并发包下锁学习第三篇-从源码学习Java并发是怎么维护内部线程队列的》。 在上篇我们知道AQS内部有个内部类-Node对象。这个对象就是来维护线程对资源访问的排队工作的。具体怎么操作的呢?本文主要内容:Node节点介绍;在同步器中怎么为维护排队的流程图。 一:Node节点对象介绍 在AQS内部有个Node对象的内部类。我们来看看这个对象都有哪些属性: 简化后: static final class Node { //线程等待状态 volatile int waitStatus; //当前节点的上一个节点 volatile Node prev;...



