转载请注明原创出处,谢谢!
无意中了解到如下题目,觉得蛮好,准备拿来分析分析。
题目如下:
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();
}
}
}
问该程序的输出结果???,大家考虑考虑,下期分析分析,与大家交流交流,讨论讨论,欢迎留言区评论!!!
个人公众号