synchronized锁优化

本文探讨了自旋锁在Java并发编程中的作用。自旋锁使得线程在无法获取锁时,不会立即阻塞,而是执行无意义的循环,等待其他线程释放锁。这种机制提高了锁的效率,因为在某些情况下,线程可能很快就能获得锁,避免了上下文切换的开销。
摘要由CSDN通过智能技术生成
一 、  Synchronized锁
          在多线程并发编程中Synchronized一直是元老级角色,很多人都会称呼它为重量级锁,但是随着Java SE1.6对Synchronized进行了各种优化之后,有些情况下它并不那么重了,下面介绍了Java SE1.6中为了减少获得锁和释放锁带来的性能消耗而引入的偏向锁和轻量级锁,以及锁的存储结构和升级过程。
        
          CAS(Compare and Swap):比较并设置,用于在硬件层面上提供原子性操作。在Intel处理器中,比较并交换通过指令cmpxchg实现。比较是否和给定的数值一致,如果一致则修改,否则不修改。
二 、  同步的原理
       Java中的每一个对象都可以作为锁。
          1.对于同步方法,锁是当前实例对象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值