多层synchronized嵌套是否会影响效率?

来源:3-3 线程安全性-原子性-synchronized

树皮

2018-07-30

老师想请教一下,多层synchronized嵌套是否会影响效率?影响效率与嵌套的层数是一个什么关系?是次方还是什么?

写回答

1回答

树皮

提问者

2018-07-30

个人学习理解,synchronized会在同步块生成monitorenter 和 monitorexit 指令,加多层的synchronized,就相当于包了多层 monitorenter  和monitorexit 指令。当线程执行时,会判断该线程是否拥有锁,如果已经拥有将锁的计数器加1,这里加在多层的锁也只是计数器累加而已,效率不会有多大影响。不知道理解对不对

0
2
树皮
回复
Jimin
理解了,synchronized是属于阻塞同步,影响性能的关键点在于大量线程的阻塞和唤醒操作,谢谢老师
2018-07-31
共2条回复

Java高并发编程,构建并发知识体系,提升面试成功率

构建完整并发与高并发知识体系,倍增高薪面试成功率!

3923 学习 · 832 问题

查看课程