可重入锁(ReentrantLock)简介说明

乔欣 Java面经 发布时间:2022-11-12 23:43:31 阅读数:13902 1 并发编程面试题(2023最新版)
下文笔者讲述可重入锁(ReentrantLock)简介说明,如下所示

ReentrantLock重入锁简介

ReentrantLock重入锁:
    ReentrantLock是Lock接口的实现类
    ReentrantLock是我们日常开发中使用最多的一个锁,她是一个可重入锁,指同一个线程对同一资源多次获取时,不会被阻塞 

重入性的实现原理

例:
   ReentrantLock
    state初始化为0,代表未锁定状态
A线程lock()时,会调用tryAcquire()独占该锁并将state+1
  此后,其他线程再tryAcquire()时就会失败
 直到A线程unlock()到state=0(即释放锁)为止
 其它线程才有机会获取该锁

在“线程A”释放锁之前,A线程自己是可以重复获取此锁(state会累加)
以上就是重入锁的概念,释放锁每次都会减一,加锁多次,需释放多次,才能使state=0,达到最终释放锁 
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaMianJing/202211/16682678584890.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者