zl程序教程

您现在的位置是:首页 >  大数据

当前栏目

【并发编程063】什么是可重入锁? 可重入锁的实现原理是什么?

并发编程原理 实现 什么 重入
2023-09-27 14:29:27 时间

什么是可重入锁? 可重入锁的实现原理是什么?

首先明确下synchronized和lock接口均为可重入锁。

重入锁, 顾名思义, 就是支持重进入的锁, 它表示该锁能够支持一个线程对 资源的重复加锁。

1) 线程再次获取锁 。锁需要去识别获取锁的线程是否为当前占据锁的线程, 如果是, 则再 次成功获取。

2) 锁的最终释放 。线程重复n次获取了锁, 随后在第n次释放该锁后, 其他线程能够获取到 该锁 。锁的最终释放要求锁对于获取进行计数自增, 计数表示当前锁被重复获取的次数, 而锁被释放时, 计数自减, 当计数等于0时表示锁已经成功释放。

image-20220415141838106