JUC锁 - 锁核心类AQS

AQS(AbstractQueuedSynchronizer):抽象类,是 Java 并发锁的核心。它提供了一个基于FIFO(先进先出)队列,可以用于构建锁或者其他相关同步装置的基础框架。

并发编程有两个核心问题:互斥和同步。

  • 互斥,即同一时刻只允许一个线程访问共享资源;

  • 同步,即线程之间如何通信、协作。

这两大问题,管程(sychronized)都是能够解决的。J.U.C 包还提供了 Lock 和 Condition 两个接口来实现管程,其中 Lock 用于解决互斥问题,Condition 用于解决同步问题