easy-base-concurrent | 线程安全-原子性-锁

本文深入探讨了原子性在并发控制中的角色,比较了synchronized、Lock和Atomic的不同使用场景和性能特点。synchronized依赖JVM,适用于读写竞争不激烈的情况;Lock提供可中断锁,适合高竞争环境;Atomic在高竞争下表现更佳,尤其在更新单一值时。通过对比,读者可以更好地理解这些机制在实际应用中的选择。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原子性提供了互斥操作

  • synchronized : 依赖JVM
  • Lock:依赖特殊的CPU指令,(ReentrantLock)

synchronized

  • 修饰代码块:作用于调用的对象
  • 修饰方法:作用于调用的对象
  • 修饰静态方法:作用于所有对象
  • 修饰类:作用于所有对象

对比

  • synchronized:不可中断锁,适合竞争不激烈,可读性好
  • Lock:可中断锁,多样化同步,竞争激烈时能维持常态
  • Atomic:竞争激烈时能维持常态,比Lock性能好;只能更新一个值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值