ReentrantLock和Synchronized的区别
- 核心区别
- 效率区别
- 底层实现区别
- 功能性的区别
/**
* @author 舒一笑
* @date 2023/5/28
*/
public class Test16 {
ReentrantLock lock = new ReentrantLock(false);//非公平锁
ReentrantLock lock2 = new ReentrantLock(true);//公平锁
public static synchronized void main(String[] args) {
}
}
什么是AQS
AQS的特点
- AQS中提供了一个由volatile修饰的,采用CAS方式修改的int类型的static变量。
- AQS维护了一个由head、tail、并且每个节点都是Node对象的双向链表