关于java中的Synchronized关键字是不是自旋锁?首先从OS级别来说它肯定不是,因为它用的是互斥锁,这个可以看openjdk源码可以发现它用的是mutex互斥量来实现的。然后站在用户级别虽然
openjdk里面升级重量级锁有死循环自旋,但那不是为了自旋拿锁,而是在自旋等待一个结果,下面截图可以看出自旋为了等待其它竞争锁的线程膨胀完成,这个和获取锁无关。
关于java中的Synchronized关键字是不是自旋锁?首先从OS级别来说它肯定不是,因为它用的是互斥锁,这个可以看openjdk源码可以发现它用的是mutex互斥量来实现的。然后站在用户级别虽然
openjdk里面升级重量级锁有死循环自旋,但那不是为了自旋拿锁,而是在自旋等待一个结果,下面截图可以看出自旋为了等待其它竞争锁的线程膨胀完成,这个和获取锁无关。