java的线程问题。一个类里有两个方法,两个方法都使用了关键字synchronized,他们的执行顺序是怎么样的?

日期:2016-06-02 09:44:13 人气:1

java的线程问题。一个类里有两个方法,两个方法都使用了关键字synchronized,他们的执行顺序是怎么样的?

问题一:x.m2先执行的,为什么输出结果main方法的在前面?答:这时的x.m2()执行结果的b值马上被t.start()启动后执行的m()方法给覆盖(2000变成了101),m1在sleep时,当然先输出System.out.println("main.b= "+x.b)这句了。 问题二:这样的执行结果就是有时候: main.b=2000 m1.b=101 有时候跟第一次执行结果一样,为什么呢? 答:你这里的同步设定没有意义,例如m1加了synchronized ,当
    A+
热门评论