自旋----优化---->适应性自旋(Adaptive Spinning):用于线程占用共享数据时间很短的情况下。
锁消除(Lock Elimination):用于实际上不需要加锁的情况。
锁粗化(Lock Coarsening):用于频繁加锁解锁的情况。
轻量级锁(Lightweight Locking):相对于使用互斥量的传统锁,轻量级锁并不是用来代替重量级锁的。他的本意是在没有多线程竞争的前提下,减少传统的重量级锁使用操作系统互斥量产生的性能消耗。
偏向锁(Biased Locking):消除数据在无竞争情况下的同步原语。如果说轻量级锁是在无竞争的情况下使用CAS操作去消除同步使用的互斥量,那偏向锁就是在无竞争的情况下把整个同步都消除掉,连CAS操作都不做。偏向锁会偏向于第一个获得他的线程,如果在接下来的执行过程中,该所没有被其他的线程获取,则持有偏向锁的线程将永远不需要再进行同步。