`

CAS解释

阅读更多
最近在看JAVA并发的知识,里面提到CAS概念,其实说白了和数据库操作一样,代条件的更新,在更新原值之前,记录原来的值,真正的更新的时候比对原值,如果原值编码,则不做更新

UPDATE A+100  WHERE A=100




Compare And Swap
       CAS 指的是现代 CPU 广泛支持的一种对内存中的共享数据进行操作的一种特殊指令。这个指令会对内存中的共享数据做原子的读写操作。简单介绍一下这个指令的操作过程:首先,CPU 会将内存中将要被更改的数据与期望的值做比较。然后,当这两个值相等时,CPU 才会将内存中的数值替换为新的值。否则便不做操作。最后,CPU 会将旧的数值返回。这一系列的操作是原子的。它们虽然看似复杂,但却是 Java 5 并发机制优于原有锁机制的根本。简单来说,CAS 的含义是“我认为原有的值应该是什么,如果是,则将原有的值更新为新值,否则不做修改,并告诉我原来的值是多少”。(这段描述引自《Java并发编程实践》)
       简单的来说,CAS有3个操作数,内存值V,旧的预期值A,要修改的新值B。当且仅当预期值A和内存值V相同时,将内存值V修改为B,否则返回V。这是一种乐观锁的思路,它相信在它修改之前,没有其它线程去修改它;而Synchronized是一种悲观锁,它认为在它修改之前,一定会有其它线程去修改它,悲观锁效率很低。下面来看一下AtomicInteger是如何利用CAS实现原子性操作的。
分享到:
评论

相关推荐

    cas官方文档

    cas官方文档,对如何使用cas进行了解释

    cas单点登录技术

    1 单点登录总体解决方案 2 CAS原理和协议 3 CAS安全性 ...8 名词解释 9 附件 9.1 在WEBLOGIC中使用CAS实现单点登录 9.2 在TOMCAT中使用CAS实现单点登录 9.3 TOMCAT中使用CAS实现单点登录LDAP方式

    CAS整合LDAP实现单点登录学习笔记.pdf

    CAS整合LDAP实现单点登录,对cas和ldap的整合登陆做了详细的解释

    cas单点登陆配置文档

    单点登录的英文名称为Single Sign-On,简写为SSO,它是一个用户认证的过程,允许用户一次性进行认证之后,就访问系统中不同的应用;而不需要访问每个应用时,都...IBM对SSO有一个形象的解释“单点登录、全网漫游”。

    cas.rar_CAS SSO_single_sso_sso java_单点登录 java

    单点登录的英文名称为Single Sign-On,简写为SSO,它是一个用户认证的过程,允许用户一次性进行认证之后,就访问系统中不同的应用;而不需要访问每个应用时,都...IBM对SSO有一个形象的解释“单点登录、全网漫游”。

    SSO CAS 单点登录实例SSOAuth+SSOWebDemo1+SSOWebDemo2.zip

    但是有一个限制,那两台部署应用(demo1、demo2)的 机器的域名需要相同,这在后面的章节中会解释到cookie和domain的关系以及如何制作跨域的WEB-SSO 解压缩SSOAuth.zip文件,在/WEB-INF/下的web.xml中请修改...

    仙后座A中冷却中子星的轴衰变常数的极限

    可以在最小的NS冷却情况下解释观察到的位于超新星残余仙后座A(Cas A)中心的中子星(NS)的快速冷却。 如果存在额外的冷却源(例如轴突排放),则可能会更改此结果。 在这项工作中,我们研究了在存在轴突排放的情况...

    MATLAB 中的 SymPy CAS:启用在 MATLAB 中使用 Python 的 SymPy CAS-matlab开发

    这可能会很慢,因为每次调用函数时都会启动和关闭 Python 解释器。 但是,由于操作系统缓存,连续调用会加速。 另一种选择是使用发布在此文件交换上的 pymex 模块: ...

    restfull编程

    springboot对rest福利编程的解释以及应用,一起分享一起学习

    论文研究 - 基因组编辑工具:当前时代的需要

    锌指核酸酶(ZFN),转录激活子如效应核酸酶(TALEN),成簇的规则解释的短回文重复序列(CRISPR / Cas系统)和大范围核酸酶(重组酶)是编辑生物体基因组的主要工具。 基因组编辑工具具有选择性删除或整合特定基因...

    农村人群就医行为选择建模设计

    方法:依据复杂适应性系统理论(CAS),应用系统动力学建模技术与方法,构建“农村人群就医行为选择”逻辑模型。结果:分析了系统模型结构、内部主体与外部环境,并在此基础上构建了“农村人群就医行为选择”问题模型的概念...

    单点登录技术文档 多用户多系统多数据库

    CAS 单点登录 多数据库 SSO 1、 单点登录概述 单点登录的英文名称为Single Sign-On,简写为SSO,它是一个用户认证的过程,允许用户一次性进行认证之后,就访问系统中不同的应用;而不需要访问每个应用时,都重新...

    关于单片机ISP的问题解释

    单片机在线编程简称ISP,到底是怎么回事呢,本文件所含内容解答你的疑惑

    WU-CRISPR:用于CRISPRCas9敲除的WashU gRNA设计器

    需要与Red-Hat兼容Linux系统上的Perl 5解释器或更高版本。 WU-CRISPR标准程序的安装 将WU-CRISPR.tar.gz文件放置在Linux系统中的任何位置,并使用以下命令解压缩:'tar -xzvf WU-CRISPR.tar.gz' 将输入的FASTA文件...

    xxx_cast类型转换的实现方法

    xxx_cast是一个统称,它指的是static_cast(静态转换),const_cast(常量转换),reinterpert_cast(重解释转换),dynamic_cast(动态转换)。本次我们就了解一下他的用途及其转换方式。 1.static_cast(静态转换) ...

    Java进阶教程解密JVM视频教程

    * 最后的加餐环节是带着你理解 Java 内存模型:见识多线程读写共享数据的原子性、可见性、有序性,以及很多人解释不清楚的 happens-before 规则。当然还不能少了 CAS 和 synchronized 优化。 主讲内容 第一章:...

    authtication+protocal.pdf

    通俗易懂的描述对称加密的原理,从最简单的加密方法开始,慢慢解释到需要认证机构的加密方式。 Authentication Protocols and Key Establishment • Like cryptographic algorithms, the design of an ...

    dealwithcors:CORS机制

    #Méchanisme CORS 暂定解释 du mechanisme CORS。 结论 permet de comprendre pourquoi la méthode OpenLayers.Protocol.HTTP de openlayers 2 s'arrêteàlarequêteOPTIONS dans notre cas。 文档 ##简单请求...

    【白雪红叶】JAVA学习技术栈梳理思维导图.xmind

    解释器模式 迭代器模式 中介者模式 备忘录模式 观察者模式 状态模式 策略模式 模板方法模式 访问者模式 设计案例 UML 架构 系统架构能力 基本理论 扩展性设计 可用性设计 可靠性设计 一致性设计 ...

    Automatic-Sidebar:Uma forma de automatizar abertura de menus Laterais sem precisar configurar mais javascript

    Bez Birolo制作的“自动侧边栏”,或从最初的解释器中删除。 :rocket: Explicaçãoteórica :wrench: Explicaçãoescrita sobreutilização: Primeiramente precisa colocar nossafunçãode自动侧边开关和...

Global site tag (gtag.js) - Google Analytics