jdk1.6以后 对synchronized锁做了哪些优化
1.适应自旋锁
自旋锁:为了减少线程状态改变带来的消耗 不停地执行当前线程
2.锁消除:
不可能存在共享数据竞争的锁进行消除
3.锁粗化:
将连续的加锁 精简到只加一次锁
4.轻量级锁:
无竞争条件下 通过CAS消除同步互斥
5.偏向锁:
无竞争条件下 消除整个同步互斥,连CAS都不操作。
原文链接:https://blog.csdn.net/ustcyy91/article/details/78847658