Java线程可以在持有锁的同时获取锁吗?

如果一个线程持有一个 ,当线程需要进入由同一个锁控制的另一个关键部分时会发生什么?

Java中的内部锁 (同步)是可重入的,因此JVM将识别当前线程已经拥有此锁并且它将继续。

还有明确的锁 ,它们是可重入的。

如果锁不可重入,则可以例如不使用递归方法。

没有:系统能够确定哪个线程持有锁以避免线程阻塞自身。

如果一个线程持有一个锁,那么它可以输入任何方法(同步或非同步),但如果任何其他线程想要调用一个方法,那么这些方法应该是非同步的,或者它应该等待获取锁,如果它试图调用一个同步方法。

重新锁定

显示器将允许它,因为他们有一种归属感

资源锁

信号量没有任何所有权感,因此如果没有足够的可用资源,将导致死锁