当前位置: 首页 > news >正文

网站托管代运营手机做网站的

网站托管代运营,手机做网站的,个人备案网站名称大全,公司手机版网站问题分析与思考: CAS 是 Java 中 Unsafe 类里面的方法,它的全称是 CompareAndSwap,比较并交换 的意思。 它的主要功能是能够保证在多线程环境下,对于共享变量的修改的原子性。 举个例子,比如说有这样一个场景&#xff…


问题分析与思考:

        CAS 是 Java 中 Unsafe 类里面的方法,它的全称是 CompareAndSwap,比较并交换 的意思。

        它的主要功能是能够保证在多线程环境下,对于共享变量的修改的原子性。 举个例子,比如说有这样一个场景(如图),有一个成员变量 state,默认值是 0, 定义了一个方法 doSomething(),这个方法的逻辑是,判断 state 是否为 0 ,如果为 0,就修改成 1。

         这个逻辑看起来没有任何问题,但是在多线程环境下,会存在原子性的问题,因为这里 是一个典型的,Read - Write 的操作。 一般情况下,我们会在 doSomething()这个方法上加同步锁来解决原子性问题。

         但是,加同步锁,会带来性能上的损耗。所以,对于这类场景,我们就可以使用 CAS 机制来进行优化。如下图所示。

        在 doSomething()方法中,我们调用了 unsafe 类中的 compareAndSwapInt()方法来 达到同样的目的,这个方法有四个参数, 分别是:当前对象实例、成员变量 state 在内存地址中的偏移量、预期值 0、期望更改 之后的值 1。

         CAS机制会比较 state 内存地址偏移量对应的值和传入的预期值 0 是否相等,如果相等, 就直接修改内存地址中 state 的值为 1.否则,返回 false,表示修改失败,而这个过程是原子的,不会存在线程安全问题。

 

        CompareAndSwap 是一个 native 方法,实际上它最终还是会面临同样的问题,就是 先从内存地址中读取 state 的值,然后去比较,最后再修改。

        这个过程不管是在什么层面上实现,都会存在原子性问题。 所以呢,CompareAndSwap 的底层实现中,在多核 CPU 环境下,会增加一个 Lock 指令对缓存或者总线加锁,从而保证比较并替换这两个指令的原子性。

结尾:

CAS 主要用在并发场景中,比较典型的使用场景有两个。

        1. 第一个是 JUC 里面 Atomic 的原子实现,比如 AtomicInteger,AtomicLong。

        2. 第二个是实现多线程对共享资源竞争的互斥性质,

            比如在 AQS、 ConcurrentHashMap、ConcurrentLinkedQueue 等都有用到。

http://www.yayakq.cn/news/745539/

相关文章:

  • 公司网站建设费会计处理佛山网站seo优化排名公司
  • 等保二级网站建设方案国外做兼职的网站
  • 自己在百度上可以做网站吗网站外链推广平台
  • 天津市住房和城乡建设厅网站网站建设渠道代理任务书
  • 原创文学网站建设网站正在建设中 色
  • 吕梁推广型网站建设太原市建设工程质量监督站网站
  • 四川哪家网站做的最好做的网站里面显示乱码怎么解决方法
  • 个人备案网站百度收录装修装饰网站建设
  • 网站版式设计说明wordpress金币插件
  • 二手车网站开发数据库设计365元做网站
  • 松江叶榭网站建设wordpress自动设置缩略图
  • 襄阳公司网站建设sentos上部署.net网站
  • 备案号放网站下面居中绥化市网站建设
  • 如何让网站不被收录免备案做网站 可以盈利吗
  • 网站备案密码格式公司网页设计论文题目大全
  • 做设计的网站建设网站需要几个步骤
  • 辽宁网站制作公司网站建设意见建议
  • 学校网站做几级等保公司网站怎样维护运营
  • 制作平台网站费用开发一个小程序需要多久
  • 大兴网站设计做网站的流程与步骤
  • 西部数码网站管理助手3.0教程电商网站功能模块图
  • 微信小程序建站网站排名英文
  • 企业网站开发北京江南网盟-专注中小企业网站建设服务
  • 水果网站源码wordpress中文官网上
  • 汕头网站推广费用江西南昌网站建设哪家公司好
  • wordpress精美网站桂林网站建设内容
  • 网站改版阿里云怎么做网站301定向网站进行诊断
  • 中山网站建设工具猫小游戏网站网址
  • wordpress主题 au苏州企业网站优化
  • 舞蹈东莞网站建设wordpress图片比例拉伸