Java 在一行中调用两个同步方法会导致死锁吗?
如果一个类有两个同步的方法:Java 在一行中调用两个同步方法会导致死锁吗?,java,synchronization,Java,Synchronization,如果一个类有两个同步的方法: public class A { public synchronized int do1() {...} public synchronized void do2(int i) {...} } 在一行中调用这两个方法会导致死锁吗 A a = new A(); a.do2(a.do1()); 请注意,在您的示例中,这两个方法不会同时调用 它们之间有明确而严格的顺序-do2()在do1()完成之前无法调用 另请注意,该代码相当于 A a = new
public class A {
public synchronized int do1() {...}
public synchronized void do2(int i) {...}
}
在一行中调用这两个方法会导致死锁吗
A a = new A();
a.do2(a.do1());
请注意,在您的示例中,这两个方法不会同时调用 它们之间有明确而严格的顺序-
do2()
在do1()
完成之前无法调用
另请注意,该代码相当于
A a = new A();
int temp = a.do1();
a.do2(temp);
刚要提到这个,+1