ReentrentLock重入锁

Posted 流氓剑客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ReentrentLock重入锁相关的知识,希望对你有一定的参考价值。

ReentrentLock lock=new ReentrentLock();
lock.lock();
//锁的代码
finally{
lock.unlock();
}
ReentrentLock 比synchronized具有更好的扩展性
ReentrentLock 可以通过lockInterruptibly()方法实现中断锁 通过Thread的interrput方法中断,中断之后放弃执行,释放资源

ReentrentLock可以通过tryLock(),tryLock(时间,时间单位)所申请等待时间,如果获得成功返回true,如果是失败返回false,tryLock()会立即返回,tryLock(时间,时间单位)在这段时间内尝试获得锁。
ReentrentLock构造方法里面有一个boolean fair 默认false,传入true表示公平锁

以上是关于ReentrentLock重入锁的主要内容,如果未能解决你的问题,请参考以下文章

可重入锁和不可重入锁

可重入锁

ReentrantLock可重入锁原理

ReentrantLock重入锁

6.23Java多线程可重入锁实现原理

两种方式实现自己的可重入锁