![](/img/trans.png)
[英]Synchronized method calling another synchronized method which calls wait()
[英]Calling a synchronized method from another synchronized method, both on different object
假设我们有两个类 A、B 和各个类的同步方法 methodA、methodB。 如果我们从同步的方法A调用同步的方法B,当方法B仍在执行时,线程是否仍然持有对象A的锁?
Class A
{
public synchronized void methodA()
{
//do something;
synchronized(ObjectB)
{
ObjectB.methodB();
}
}
}
Class B
{
public synchronized void methodB()
{
//do something
}
}
只要您处于同步块中,锁定就会保持。 可以根据需要锁定尽可能多的锁,但这种嵌套同步会影响应用程序的整体性能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.