可重入锁
来源:互联网 发布:淘宝新店手机号码采集 编辑:程序博客网 时间:2024/06/10 19:49
这里讲的是广义上的可重入锁,而并非仅仅JAVA下的ReentrantLock。
可重入锁指的是在一个线程中可以多次获取同一把锁,比如:
一个线程在执行一个带锁的方法,该方法中又调用了另一个需要相同锁的方法,则该线程可以直接执行调用的方法,而无需重新获得锁;
此线程对同一个同步监视器重复加锁的过程.每个同步监视器对应的锁都有一个计数器,用来记录递归加锁的次数(每加锁一次计数器加一,每解锁一次计数器减一),即正向加锁多少次就要逆向解锁多少次(否则此同步监视器还是被锁定状态)
在JAVA环境下 ReentrantLock 和synchronized都是可重入锁.
可重入锁最大的作用是避免死锁
引用:
https://www.zhihu.com/question/23284564
阅读全文
0 0
- 可重入锁
- 可重入锁
- 可重入锁
- 可重入锁
- 可重入锁
- 可重入锁
- 可重入锁 ReentrantLock
- 什么是可重入锁
- java可重入锁
- ReentrantLock可重入锁
- ReentrantLock可重入锁
- java可重入锁
- ReentrantLock(可重入锁)
- Java-可重入锁
- 可重入锁 ReentrantLock
- Java 可重入锁
- ReentrantLock可重入锁
- 可重入锁 -- ReadWriteLock
- java实现微信退款
- Linux signals(一)理论、C语言捕获信号并处理
- Java学习 java -- 面向对象
- SQL Server2008 学习之(十八) :使用.NET 访问SQL Server
- GIL解释器锁
- 可重入锁
- bzoj 2667 [cqoi2012]模拟工厂
- Java 笔记 之 变量和常量
- const形参,何时创建临时变量
- poj 2591 Set Definition
- 创建类Student和对象
- Java学习笔记——并发之ThreadLocal
- (3)qt信号与槽的使用(以运行界面为例)
- JavaFX初探与MediaPlayer(2)