-
可重入就是说某个线程
已经获得某个锁
,可以再次获取锁而不会出现死锁
- ReentrantLock和synchronized都是可重⼊锁
-
简单理解就是:
-
如果你
拿到了锁1
,接下来代码块又要拿一次锁1
,你之前已经拿过锁1了,下面的也可以拿到
synchronized (this) {
System.out.println("第1次,锁是:" + this);
//嵌套锁1 -> 此时是可以重复获得的,这就是可重入
synchronized (this) {
System.out.println("第2次,锁是:" + this);
}
}