11 什么叫可重入锁和不可重入锁

vvEcho 2025-03-01 14:10:28
Categories: Tags:

Java中提供的synchronized,ReentrantLock,ReentrantReadWriteLock都是可重入锁

不可重入锁

只判断这个锁有没有被锁上,只要被锁上,申请锁的线程都会被要求等待。

可重入锁

不仅判断锁有没有被锁上,还会判断锁是哪个线程锁上的,当判断为当前锁上的时候,那么他依旧可以再次访问临界资源,并把加锁次数加一。