解析ReentrantLock实现原理
Posted jing99
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解析ReentrantLock实现原理相关的知识,希望对你有一定的参考价值。
在Java中通常实现锁有两种方式,一种是synchronized关键字,另一种是Lock。首先最大的不同:synchronized是基于JVM层面实现的,而Lock是基于JDK层面实现的。
对于使用者的直观体验上Lock是比较复杂的,需要lock和realse,如果忘记释放锁就会产生死锁的问题,所以,通常需要在finally中进行锁的释放。但是synchronized的使用十分简单,只需要对自己的方法或者关注的同步对象或类使用synchronized关键字即可。但是对于锁的粒度控制比较粗,同时对于实现一些锁的状态的转移比较困难。例如:
特点:
tips | synchronized | Lock |
---|---|---|
锁获取超时 | 不支持 | 支持 |
获取锁响应中断 | 不支持 | 支持 |
以上是关于解析ReentrantLock实现原理的主要内容,如果未能解决你的问题,请参考以下文章