你所理解的Synchronized关键字对吗

2020-10-26 17:21:23 浏览数 (3)

关于java中的Synchronized关键字是不是自旋锁?首先从OS级别来说它肯定不是,因为它用的是互斥锁,这个可以看openjdk源码可以发现它用的是mutex互斥量来实现的。然后站在用户级别虽然

openjdk里面升级重量级锁有死循环自旋,但那不是为了自旋拿锁,而是在自旋等待一个结果,下面截图可以看出自旋为了等待其它竞争锁的线程膨胀完成,这个和获取锁无关。

0 人点赞