可重入锁和不可重入锁是什么
时间: 2023-03-27 20:01:44 浏览: 148
可重入函数与不可重入函数
4星 · 用户满意度95%
可重入锁和不可重入锁是指在多线程编程中使用的两种不同类型的锁。
可重入锁也称为递归锁,是指在一个线程持有锁的时候,可以再次获得同一把锁而不会造成死锁。这种锁可以避免在同一个线程中重复获取同一把锁导致死锁的情况。Java中的ReentrantLock就是一种可重入锁。
不可重入锁则是指在一个线程持有锁的时候,不能再次获得同一把锁,否则会导致死锁。这种锁一旦被某个线程获取,其他线程就无法获取该锁,只能等待持有锁的线程释放。Java中的synchronized就是一种不可重入锁。
阅读全文