2016 - 2024

感恩一路有你

可重入锁和不可重入锁的区别 如何理解Java锁的可重入性?

浏览量:1609 时间:2021-03-15 13:55:51 作者:admin

如何理解Java锁的可重入性?

可重入锁:支持重复进入的锁。这意味着锁可以支持线程对资源的重复锁定。

关键字“sychronized”隐式支持重入,例如使用sychronized修改的递归方法。在方法执行期间,执行线程在获取锁之后可以多次获取锁。

尽管reentrantlock不能像sychnronized关键字那样隐式地重新输入,但是在调用lock()方法时,获得锁的线程可以再次调用lock()方法来获得锁,而不会被阻止。

java的可重入锁用在哪些场合?

你好,我是[不要随波逐流]。我很高兴为你回答。远程标准教育为您解答:重入锁是指同一个锁可以在一个线程中多次获得。例如,如果一个线程正在执行一个带有锁的方法,而该方法调用另一个需要相同锁的方法,那么该线程可以直接执行调用方法而不必重新获取锁。更多专业科普知识,请关注我。如果你喜欢我的回答,也请给我表扬或转发,你的鼓励是支持我写下来的动力,谢谢。

可重入锁的原理?

重入锁实现的原理或机制如下:

每个锁都与线程保持器和计数器相关联。当计数器为0时,表示锁没有被任何线程持有,那么任何线程都可以获得锁并调用相应的方法。当线程请求成功时,JVM将记录持有锁的线程,并将计数器设置为0 1。此时,如果其他线程请求锁,则必须等待;如果持有锁的线程再次请求锁,则可以再次获得锁,计数器将增加;当线程退出同步代码块时,计数器将减少;如果计数器为0,则释放锁。

可重入锁和不可重入锁的区别 java atomic java可重入锁原理

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。