面试官:了解锁消除和锁粗化么?

锁消除

虚拟机的即时编译器在运行时,会对一些代码上要求是同步的,但被检测到其实不可能存在共享数据竞争的锁进行消除,主要是依据逃逸分析。

锁粗化

原则上,锁的粒度要尽量小,因为这样可以提高并发度,但是假如一系列的连环操作都是对同一个对象反复加锁,解锁,比如把锁加载在循环体里,单次同步操作的时间也许很短,但是高频反复的锁请求、同步和释放,也会对系统资源造成一定消耗,可能还不如加一把大锁。而锁粗化就是增大锁的作用域,把很多次锁的请求合并成一个请求,以此来降低短时间内大量锁请求、同步、释放带来的性能损耗。

发布了321 篇原创文章 · 获赞 345 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/weixin_38106322/article/details/105366319
今日推荐