美文网首页
锁的可重入性

锁的可重入性

作者: 迷糊小生 | 来源:发表于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