采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师想请教一下,多层synchronized嵌套是否会影响效率?影响效率与嵌套的层数是一个什么关系?是次方还是什么?
个人学习理解,synchronized会在同步块生成monitorenter 和 monitorexit 指令,加多层的synchronized,就相当于包了多层 monitorenter 和monitorexit 指令。当线程执行时,会判断该线程是否拥有锁,如果已经拥有将锁的计数器加1,这里加在多层的锁也只是计数器累加而已,效率不会有多大影响。不知道理解对不对
jdk高版本里,synchronized关键字做了很多优化,因此本身性能影响已经很小了。这个关键字最关键的问题时,并发量比较高时阻塞很严重,这才是最需要关注的,实际中我们更希望是类似于cas这种无锁操作
理解了,synchronized是属于阻塞同步,影响性能的关键点在于大量线程的阻塞和唤醒操作,谢谢老师
登录后可查看更多问答,登录/注册
构建完整并发与高并发知识体系,倍增高薪面试成功率!
1.7k 1
1.1k 18
1.2k 15
3.6k 12
1.2k 12