public class TT implements Runnable {
int b=100;
public synchronized void m1()throws Exception{
b=1000;
Thread.sleep(5000);
System.out.println("b="+b);
}
public void m2(){
System.out.println(b);
}
问:当m1()方法在执行时,m2()方法会执行吗?为什么?
int b=100;
public synchronized void m1()throws Exception{
b=1000;
Thread.sleep(5000);
System.out.println("b="+b);
}
public void m2(){
System.out.println(b);
}
问:当m1()方法在执行时,m2()方法会执行吗?为什么?
还有 实现Runnable接口时,你并沒有实现它的run()方法啊!
能不能说个理由出来·synchronized void m1() ,m1()已经被锁了啊
但是如果是直接去调用m1再调用m2,m2一定会在m1解锁后才调用。不信的话楼主可以试试,在