锁的可重入性
作者:
迷糊小生 | 来源:发表于
2019-04-02 21:57 被阅读0次package other.thread17;
import java.util.concurrent.locks.ReentrantLock;
public class DemoService {
private ReentrantLock lock = new ReentrantLock();
public void printA() {
lock.lock();
printB();
System.out.println("HoldCountA:" + lock.getHoldCount());
lock.unlock();
System.out.println("HoldCountA2:" + lock.getHoldCount());
}
public void printB() {
lock.lock();
System.out.println("HoldCountB:" + lock.getHoldCount());
lock.unlock();
System.out.println("HoldCountB2:" + lock.getHoldCount());
}
public static void main(String[] args) {
new DemoService().printA();
}
}
image.png
方法getHoldCount()的作用是查询当前线程保持此锁定的个数。
方法getQueueLength()的作用是返回正等待获取此锁定的线程估计数。
方法getWaitQueueLength(Condition condition)的作用是返回等待与此锁定相关的给定条件Condition的线程估计数,比如有5个线程,每个线程都执行了同一个condition对象的await()方法,则调用getWaitQueueLength(Condition condition)方法时返回int的值是5。
本文标题:锁的可重入性
本文链接:https://www.haomeiwen.com/subject/hsonbqtx.html
网友评论