RenntrantLock 理解

本文深入解析ReentrantLock的实现原理及应用,介绍其作为可重入锁的特点,并基于AQS框架实现公平锁与非公平锁的区别。通过了解ReentrantLock的工作机制,包括线程获取锁的过程及状态检查机制,帮助读者掌握高级并发控制技术。
摘要由CSDN通过智能技术生成

1.ReentrantLock 是可重入锁。

可重入的意思是在线程已经获取某个共享资源的锁之后,释放锁之前 还可以再次对于这个共享资源获取锁。

2.ReentrantLock  是基于AQS实现的。分为公平锁和非公平锁。

AQS 是一种定义了多线程访问共享资源的同步器框架。AQS并不实现任何功能,底层是维护了一个CLH 虚拟的双向链表,其中节点是线程。

AQS原理文章:https://www.cnblogs.com/waterystone/p/4920797.html 

3.ReentrantLock原理

当一个线程获想要取到一个共享资源的锁时,先看该资源的status值是否为0(0说明该资源未被加锁,大于0说明被其他线程加锁了)如果为0,获取该资源的锁,把status的值设为1;如果大于0,把该线程加入虚拟的双向链表中的尾节点。同时使用CAS一直询问共享资源的status是否为0。如果为0,判断当前节点是否为头节点,如果是头节点,获取锁,如果不是,继续等待。

学习文章:https://www.cnblogs.com/xrq730/p/4979021.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值