无标题文章

|锁|优点|缺点|适用场景|

|:-------------:|:-------------:|:-------------:|:-------------:|

|偏向锁|加锁和解锁不需要额外的消耗,和执行非同步方法相比仅存在纳秒级别的差距|如果线程间存在加锁竞争,会带来额外的锁撤销的消耗|适用于只有一个线程访问同步块场景|

|轻量级锁|竞争的线程不会阻塞,提高了程序的响应速度|如果始终得不到锁竞争的线程,使用自旋会消耗CPU|追求响应时间,同步块执行速度非常快|

|重量级锁|线程竞争不使用自旋,不会消耗CPU|线程阻塞,响应时间缓慢|追求吞吐量,同步块执行速度较长|

你可能感兴趣的:(无标题文章)