首页 > 其他分享 >锁

时间:2022-08-23 17:44:08浏览次数:47  
标签: 同步 消耗 竞争 线程 轻量级 偏向

一、锁的状态

       Java中的锁有几种状态:无锁 → 偏向锁 → 轻量级锁 → 重量级锁

  偏向锁:偏向于第一个访问锁的线程。

二、锁的优缺点

优点缺点适用场景
偏向锁 加锁和解锁不需要额外的消耗,和执行非同步方法比仅存在纳秒级的差距。 如果线程间存在锁竞争,会带来额外的锁撤销的消耗。 适用于只有一个线程访问同步块场景。
轻量级锁 竞争的线程不会阻塞,提高了程序的响应速度。 如果始终得不到锁竞争的线程使用自旋会消耗CPU。 追求响应时间。同步块执行速度非常快。
重量级锁 线程竞争不使用自旋,不会消耗CPU。 线程阻塞,响应时间缓慢。 追求吞吐量。同步块执行速度较长。

标签:,同步,消耗,竞争,线程,轻量级,偏向
From: https://www.cnblogs.com/wenxiangchen/p/16617193.html

相关文章