java的线程问题。一个类里有两个方法,两个方法都使用了关键字synchronized,他们的执行顺序是怎么样的?
java的线程问题。一个类里有两个方法,两个方法都使用了关键字synchronized,他们的执行顺序是怎么样的?
日期:2016-06-02 09:44:13 人气:1
问题一: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 ,当