偏向锁:在锁对象的对象头中记录当前获取该锁的线程id,下次该线程就可以直接获取该锁。
轻量级锁:由偏向锁升级而来。当一个线程获取锁后,此时锁为偏向锁;若此时若有第二个线程来竞争锁,偏向锁就会升级为轻量级锁。轻量级锁是通过自旋来实现的,并不会阻塞线程。(自旋就是不停的获取锁资源)
重量级锁:若自旋多次没有获取到锁,轻量级锁会升级为重量级锁,重量级锁会阻塞线程。
偏向锁:在锁对象的对象头中记录当前获取该锁的线程id,下次该线程就可以直接获取该锁。
轻量级锁:由偏向锁升级而来。当一个线程获取锁后,此时锁为偏向锁;若此时若有第二个线程来竞争锁,偏向锁就会升级为轻量级锁。轻量级锁是通过自旋来实现的,并不会阻塞线程。(自旋就是不停的获取锁资源)
重量级锁:若自旋多次没有获取到锁,轻量级锁会升级为重量级锁,重量级锁会阻塞线程。