1、自旋优化
重量级锁竞争的时候,还可以使用自旋来进行优化,如果当前线程自旋成功(即这时候持锁线程已经退出了同步块,释放了锁),这时当前线程就可以避免阻塞。
自旋重试成功的情况
自旋重试失败的情况
- java6之后自旋锁是自适应的,比如对象刚刚的一次自旋操作成功过,那么认为这次自旋成功的可能性会高,就多自旋几次;反之,就少自旋甚至不自旋,总之,比较智能
- 自旋会占用cpu时间,单核cpu自旋是浪费,多核cpu自旋才能发挥优势。
- java7之后不能控制是否开启自旋功能
版权声明:本文为qq_43464558原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。