一个对象都会获得一个锁,所以还是会造成混乱。
加上锁之后再加上static来修饰,得到的就是类级别的锁,是独占的,所以能保证同步。第二个例子
同一个类的两个方法加了synchrnized方法,说明是同步的,如果有2个现成执行a,b两个方法,锁会被占用,第一个线程完成之后,第二个才会执行,若第二个方法没有加synchrnized,说明是异步的,则不会被锁定,会同时执行。
2017-09-27 22:43:57
172
解决方法,在run方法前加上synchronized就能按顺序执行。
2017-09-27 22:17:55
168