Java关于锁的学习


偏向锁

意义:同一个线程访问同步代码块时不需要进行加锁、解锁操作降低性能开销

匿名偏向锁——即锁对象的mark world中没有存储线程ID

偏向锁的加锁过程
开始
当同一线程再次进入同步块
当不同线程进入同步代码块
偏向锁的解锁过程

轻量级锁

同步代码块命令执行很快,线程进行自旋操作,等待获取锁,这样就能提高效率

轻量级锁的加锁过程
轻量级锁的加锁过程