1. 并发包中的ReentrantLock是偏向锁河轻量级锁码?
是的。
2. 偏向锁跟可重入性有什么区别,非偏向锁如何实现可重入?
偏向锁和可重入性直接没啥关系。。
当然要是锁不具备可重入性,那就无所谓偏向了。
可重入性是指比如一个线程获得了对象A上的锁,如果它第二次请求A的锁必然可以获得(也就是说不会自己把自己锁住),可重入性是线程必须满足的,不然很多代码就会死锁了
偏向锁是说如果线程请求一个自己已经获得的锁,它不会去再次执行lock和unlock,这样可以提升性能。
如何实现可重入都是一样的,就是把锁的拥有者记下来,当申请锁的时候看一下锁是否已经被占有了,如果有人占着锁,看看是不是就是申请者自己。
原文地址:https://www.cnblogs.com/tiancai/p/12630281.html
时间: 2024-10-08 09:54:36