首页 > 其他分享 >CAS的工作原理

CAS的工作原理

时间:2023-05-28 22:01:13浏览次数:41  
标签:无锁 CAS 更新 共享资源 工作 线程 原理

CAS即比较并交换,是一种非阻塞式锁,也称为乐观锁,在无锁的情况下保证线程操作共享资源的原子性。

工作原理:采用CAS的方式修改共享资源时会读取共享资源作为一个预期值,在进行比较,如果预期值和当前值一样,那么就会更新成功,如果不一样,会采用自旋的方式再次获取共享资源的值尝试完成更新,当自旋次数达到一定阈值时还没有完成更新,那么就更新失败。

CAS的优点:无锁的操作使得线程不会进入阻塞状态,提高了性能。适合在多读的场景下使用。

CAS的缺点:如果竞争激烈,重试频繁,效率会受到影响。

 

标签:无锁,CAS,更新,共享资源,工作,线程,原理
From: https://www.cnblogs.com/yhb-blogs/p/17438955.html

相关文章

  • synchronized底层原理
    synchronized对象锁采用互斥的方式使得在同一时刻只有一个线程能够持有锁并操作共享资源,如果其它线程想要获取锁就会进入阻塞状态,从而保证了线程安全问题。synchronized底层原理:synchronized的实现基于JVM的锁监视器(monitor),每个JVM都有维护自己的一套锁监视器,当集群部署时synchro......
  • 计算机组成原理 L02 指令集体系结构(ISA)复习-1
    计算机组成原理L02指令集体系结构(ISA)复习-1复习-1用作例题/课后题整理复习-2用作理论知识点整理如何使用大常数由于大数值范围:[-2^31,2^31-1],而I型指令常数字段只有16bits,所以需要使用两次I型指令。取立即数到寄存器高16位指令lui->loadupperimmediate与立即数进......
  • 找工作可得擦亮眼啊!
    本文首发自公粽hao「林行学长」,欢迎来撩,免费领取20个求职工具资源包。了解校招、分享校招知识的学长来了!相信不少同学已经结束论文答辩,准备奔赴新的生活。也有同学在炎炎夏日奔走在找工作的路上。不过世界那么大,奇葩公司无奇不有。找工作时,如何判断一家公司是靠谱的公司?今天学长和......
  • 不要再来问我小学、初中毕业想出去学习编程找到工作的问题了,你要做就去做,结果自己扛
    ......
  • 什么是一致性哈希?一致性哈希是如何工作的?如何设计一致性哈希?
    如果你有n个缓存服务器,一个常见的负载均衡方式是使用以下的哈希方法:服务器索引=哈希(键)%N,其中N是服务器池的大小。让我们通过一个例子来说明这是如何工作的。如表5-1所示,我们有4台服务器和8个字符串键及其哈希值。为了获取存储某个键的服务器,我们执行模运算f(键)%4......
  • 雷达原理与系统 第五讲 雷达发射机主要质量指标
    雷达原理与系统第五讲雷达发射机主要质量指标1.雷达发射机的工作频率2.信号波形3.输出功率4.信号形式5.脉冲波形6.信号稳定度7.频谱纯度注解:雷达发射机的质量指标=主要技术参数,质量指标决定了发射机的类型。 1.雷达发射机的工作频率A.选择雷达工作频率,需要......
  • day109-smbms准备工作
    smbms项目部署环境创建项目<?xmlversion="1.0"encoding="UTF-8"?>​<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://mave......
  • OpenCASCADE曲面求交之迭代法2
    OpenCASCADE曲面求交之迭代法[email protected]朱心雄等著《自由曲线曲面造型技术》书中对曲面求交的迭代法有详细介绍,其中关于曲面迭代求交的原理介绍如下:为求得两个曲面精确的交点,Newton-Raphson迭代法得到广泛应用,该法的优点为计算精度高,速度快,在初值选择比较......
  • 【React工作记录七十一】直接用ref控制子组件弹框的开启
     前言我是歌谣我有个兄弟巅峰的时候排名c站总榜19叫前端小歌谣曾经我花了三年的时间创作了他现在我要用五年的时间超越他今天又是接近兄弟的一天人生难免坎坷大不了从头再来歌谣的意志是永恒的放弃很容易但是坚持一定很酷导语如何直接通过父组件直接改变子组件的状态编......
  • 【React工作记录七十二】时间秒转换为毫秒
     前言我是歌谣我有个兄弟巅峰的时候排名c站总榜19叫前端小歌谣曾经我花了三年的时间创作了他现在我要用五年的时间超越他今天又是接近兄弟的一天人生难免坎坷大不了从头再来歌谣的意志是永恒的放弃很容易但是坚持一定很酷导语歌谣时间秒转换为毫秒编辑 核心代码getTim......