【JUC】4、深入理解AQS

43 阅读1分钟

思考: 如何设计一把独占锁?

一、前置知识

管程 — Java同步的设计思想

管程:指的是管理共享变量以及对共享变量的操作过程,让他们支持并发。

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

同步:线程之间如何通信、协作。

image.png

管程中引入了条件变量的概念,而且每个条件变量都对应有一个等待队列。条件变量和等待队列的 作用是解决线程之间的同步问题。

二、AQS原理分析

三、ReentrantLock源码分析