短视频
2025/12/30大约 2 分钟面试题面试题
来源:短视频
经常听到可重入锁和不可重入锁,那究竟什么是可重入锁呢
如果面试过程中遇到这道面试题你能答上来吗?大家好,我是 JJ。
可重入锁是一种特殊的互斥锁,允许同一个线程在持有锁的情况下再次获取该锁。
也就是说线程可以递归地调用同步代码块或方法,而无需担心因为自身已经持有锁而导致阻塞或死锁。
在 Java 中,synchronized 关键字就是一种可重入锁的实现。
当线程获取了对象的锁之后,可以继续获取同一个对象的锁,这种设计有效地防止了死锁的发生。
通过这种方式,同一个线程可以安全地访问共享资源,而无需等待自身先前持有的锁被释放。
可重入锁的优点不仅在于其避免了死锁,还可以使得编程模型更为简单和灵活。
需要注意的是,可重入锁并不是绝对安全的。
如果一个线程在持有锁的情况下进行了一些不当的操作,仍然可能导致死锁的发生。