求下面这段程序的运行结果
public class TestSync2 implements Runnable{
int b=100;
synchronized void m1() throws InterruptedException {
b=1000;
Thread.sleep(500);
System.out.println(“b=”+b);
}
synchronized void m2() throws InterruptedException {
Thread.sleep(250);
b=2000;
}
public static void main(String[] args) throws InterruptedException {
TestSync2 tt=new TestSync2();
Thread t=new Thread(tt);
t.start();
tt.m2();
System.out.println("main thread b="+tt.b);
}
@Override
public void run() {
try {
m1();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
答案是:
main thread b=1000
b=1000
或者:
main thread b=2000
b=1000
你猜对了吗?