gpt4 book ai didi

java - 在另一个类中声明 Lock 对象并在另一个类中调用锁的方法

转载 作者:行者123 更新时间:2023-11-30 08:50:06 25 4
gpt4 key购买 nike

我在 A 类中声明了一个 Lock 对象,并在 B 类中调用了该锁的方法。

public class A{
final Lock accessLock = new ReentrantLock(true);
final Condition canexe = accessLock.newCondition();
B b = new B(this);

{
b.methodToLock();
}
}

public class B{
A a ;

public B(A a){
this.a = a;
}

public void methodToLock(){
a.accessLock.lock();
}
}

哪个对象会被锁定?

  • A类的对象?
  • B类的对象?

最佳答案

实际锁定的对象是accessLock实例。任何试图在同一实例上获取锁的线程都将阻塞,无论它来自哪个类。

关于java - 在另一个类中声明 Lock 对象并在另一个类中调用锁的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31154162/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com