关于同一对象执行加synchronized方法或代码块顺序问题
来源:3-3 线程安全性-原子性-synchronized
d_chocolate
2019-05-28
同一对象执行带有synchronized的方法或代码块,一定时先执行完一个方法或者代码块再执行另一个,不会交替执行,这是为什么?
写回答
2回答
-
Jimin
2019-05-31
你好,这里的锁都是全局锁,全局锁只有谁拿到锁谁才可以执行,执行完才释放锁,这时其他线程才可能抢到锁去执行。这个例子还有一点是,拿到一个锁后会执行一个for循环,执行10次普通的顺序log输出,这个执行是不会被打断的,因为全局锁在这个过程中是没释放的。
032021-05-25 -
d_chocolate
提问者
2019-05-29
或者说,不可中断锁,在不同对象调用同一个带锁方法的时候,为什么会交替执行
00
相似问题