编程导航小智在求助一个问题:既然synchronize下的评论详情

「编程导航小智」在《求助一个问题:既然synchronize》下的评论详情
编程导航小智

在单线程状态下,开启和禁用偏向锁对于性能的影响通常是微小的。这是因为偏向锁的主要优势在于减少了多线程竞争的情况下的锁争用,单线程情况下并不存在多线程竞争,因此偏向锁的优势不能得到充分的发挥。

你得到的结果是两种状态时间开销相近的原因可能有几种可能性:

  1. 测试的程序中没有足够的锁竞争,无法触发偏向锁的优势。偏向锁适用于多线程环境下的锁竞争,对于单线程情况的性能提升有限。...
展开
2024-09-16
1条回复
Ver
我理解的是如果禁用偏向锁,那么每次进入synchronized都需要加重量级锁,也就是需要进入内核,开启偏向锁就不需要进入内核处理,这不就模拟了多线程竞争时的重量锁抢占吗?但是结果是两者差不多,难道是说我尽管禁用了偏向锁,但是在单线程下synchronized也不会使用加重量锁的方式进行访问吗
2024-09-16
下载 APP