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

新津县建设局网站搜狗网站提交入口

新津县建设局网站,搜狗网站提交入口,一般做推广网站的客户需求仕什么,陕西专业网站开发多少钱问题分析与思考#xff1a; CAS 是 Java 中 Unsafe 类里面的方法#xff0c;它的全称是 CompareAndSwap#xff0c;比较并交换 的意思。 它的主要功能是能够保证在多线程环境下#xff0c;对于共享变量的修改的原子性。 举个例子#xff0c;比如说有这样一个场景#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 的原子实现比如 AtomicIntegerAtomicLong。         2. 第二个是实现多线程对共享资源竞争的互斥性质             比如在 AQS、 ConcurrentHashMap、ConcurrentLinkedQueue 等都有用到。
http://www.hkea.cn/news/14357845/

相关文章:

  • 能打开的网站郑州网站建设公司qq
  • 网站怎么识别手机跳转个人备案网站 做资讯
  • 沈阳手机网站外贸建站哪个最便宜
  • 小当网 绵阳网站建设芝罘区网
  • 男女在床上做羞羞的事的网站像淘宝购物网站建设需要哪些专业人员
  • 做网站公众号多少钱做外贸的有些什么网站
  • 基于html的网站开发淮南app开发
  • 微网站对比网络营销知识点
  • 德语网站域名wordpress灯箱zoom
  • 广州大石附近做网站的公司哪家好网站设计模板照片
  • 网站开发的软件无货源电商怎么做
  • 河北省住房城乡建设厅网站wordpress和phpmyadmin
  • 建材招商网站个人如何制作微信小程序
  • 多语种网站建设公司wordpress是国外的吗
  • 建设银行网站解除绑定全屋定制加盟哪个品牌好
  • 灵溪网站建设长沙房地产新闻
  • 免费在线图片设计制作生成器seo薪酬
  • 电商优惠券网站 建设极酷wordpress
  • 长沙市建设工程质量安全监督站官方网站域名备案了 怎么建设网站
  • 建设网站用什么好处Wordpress插件授权破解
  • 大连网站开发费多少钱哈尔滨网站建设方案
  • 选择网站做友情链接的标准一般是wordpress 跳转
  • 二手书网站建设wordpress nofollow标签
  • 域名租赁网站怎么做弹幕网站
  • 铁盒 东莞网站建设定制开发app商城系统
  • 铜川商城网站建设计算机网络工程师
  • 网站的流程wordpress 模板 免费
  • dw做网站一般设为什么样石家庄做网站公司哪家好
  • 百度分公司 网站外包推荐几个没封的网站
  • 网站开发实训安排织梦网站首页在哪里改