关于把synchronized修饰在方法上和放在方法中
来源:13-12 JMM的应用

ice_wolf
2019-10-11
老师请问把synchronized修饰在方法上和放在方法中为什么前者导致的性能问题更严重呢?两种方法不都是会产生竞争的吗?
写回答
1回答
-
两种方法的竞争原理是一样的,但是范围不一样,因为加在方法的时候,往往其实这个方法里,并不是每一行都需要同步的,造成了“扩大范围”的情况。如果只加在方法内部,就可以由我们自由控制同步范围,最小化的同步范围可以提升性能。
012019-10-12
相似问题