synchronized的 偏向锁、轻量级锁、重量级锁的优缺点对比以及其适应场景

2020-09-27 10:56:56 浏览数 (1)

优点

缺点

适用场景

偏向锁

加锁和解锁不需要额外的消耗,和执行非同步方法相比仅存在纳秒级的差距

如果线程间存在锁竞争,会带来额外的所撤销的消耗

适用于只有一个线程访问同步块场景

轻量级锁

竞争的线程不会阻塞,提高了程序的响应速度

如果始终得不到锁竞争的线程,使用自旋会消耗CPU

追求相应速度,同步块执行速度非常块

重量级锁

线程金正不适用自旋,不会消耗CPU

线程阻塞,相应时间缓慢

追求吞吐量,同步块执行速度较长

0 人点赞