偏向锁跟可重入性有什么区别

Posted tiancai

tags:

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

1. 并发包中的ReentrantLock是偏向锁河轻量级锁码?
是的。

2. 偏向锁跟可重入性有什么区别,非偏向锁如何实现可重入?
偏向锁和可重入性直接没啥关系。。
当然要是锁不具备可重入性,那就无所谓偏向了。
可重入性是指比如一个线程获得了对象A上的锁,如果它第二次请求A的锁必然可以获得(也就是说不会自己把自己锁住),可重入性是线程必须满足的,不然很多代码就会死锁了
偏向锁是说如果线程请求一个自己已经获得的锁,它不会去再次执行lock和unlock,这样可以提升性能。
如何实现可重入都是一样的,就是把锁的拥有者记下来,当申请锁的时候看一下锁是否已经被占有了,如果有人占着锁,看看是不是就是申请者自己。 

以上是关于偏向锁跟可重入性有什么区别的主要内容,如果未能解决你的问题,请参考以下文章

Java并发程序设计(15)并发锁之读写锁(续二)写锁降级

通俗易懂 悲观锁乐观锁可重入锁自旋锁偏向锁轻量/重量级锁读写锁各种锁及其Java实现!

通俗易懂 悲观锁乐观锁可重入锁自旋锁偏向锁轻量/重量级锁读写锁各种锁及其Java实现!

Java锁机制:乐观锁 悲观锁 自旋锁 可重入锁 读写锁 公平锁 非公平锁 共享锁 独占锁 重量级锁 轻量级锁 偏向锁 分段锁 互斥锁 同步锁 死锁 锁粗化 锁消除

自旋锁阻塞锁可重入锁悲观锁乐观锁读写锁偏向所轻量级锁重量级锁锁膨胀对象锁和类锁

Java-锁与实现