在Java中,同步锁是可以重入的。只有同一线程调用同步方法或执行同步代码块,对同一个对象加锁时才可重入。
当线程持有锁时,会在monitor的计数器中执行递增计算,若当前线程调用其他同步代码,且同步代码的锁对象相同时,monitor中的计数器继续递增。每个同步代码执行结束,monitor中的计数器都会递减,直至所有同步代码执行结束,monitor中的计数器为0时,释放锁标记,_Owner标记赋值为null。
在Java中,同步锁是可以重入的。只有同一线程调用同步方法或执行同步代码块,对同一个对象加锁时才可重入。
当线程持有锁时,会在monitor的计数器中执行递增计算,若当前线程调用其他同步代码,且同步代码的锁对象相同时,monitor中的计数器继续递增。每个同步代码执行结束,monitor中的计数器都会递减,直至所有同步代码执行结束,monitor中的计数器为0时,释放锁标记,_Owner标记赋值为null。
本文标题:锁的重入
本文链接:https://www.haomeiwen.com/subject/xvrdrftx.html
网友评论