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

公司推广哪个平台好seo上首页

公司推广哪个平台好,seo上首页,网站开发 公司 深圳,酒店 手机网站模板Unsafe类是CAS的核心,由于Java方法无法直接访问底层,需要通过本地方法(native)来实现,Unsafe类相当于一个桥梁。基于Unsafe类,可以直接操作特定的内存数据。 我们从上一篇说CAS基本原理的时候,有说到一个“资源”被100…

        Unsafe类是CAS的核心,由于Java方法无法直接访问底层,需要通过本地方法(native)来实现,Unsafe类相当于一个桥梁。基于Unsafe类,可以直接操作特定的内存数据。

        我们从上一篇说CAS基本原理的时候,有说到一个“资源”被100个线程每个线程累加100次,最终得到10000,该“资源”我们使用AtomicInteger来模拟的。这篇我们就从AtomicInteger更加深入探究CAS。

        

AtomicInteger的getAndIncrement()方法

    /*** Atomically increments by one the current value.** @return the previous value*/public final int getAndIncrement() {return unsafe.getAndAddInt(this, valueOffset, 1);}

        AtomicInteger的getAndIncrement()方法调用的是Unsafe类中的getAndAddInt()方法,其中的参数valueOffset是通过Unsafe实例的获取到当前AtomicInteger这个对象的value属性的内存偏移地址。

Unsafe的getAndAddInt()方法

public final int getAndAddInt(Object var1, long var2, int var4) {int var5;do {var5 = this.getIntVolatile(var1, var2);} while(!this.compareAndSwapInt(var1, var2, var5, var5 + var4));return var5;}

        参数var1就是当前需要Unsafe类操作的对象,在当前案例中就是AtomicInteger的一个实例。var2则是当前AtomicInteger实例(也就是var1)的value这个属性的变量的内存地址偏移量。var4就是案例中需要累加的值(案例中是1)。

        接下来是一个 do{ } while()循环,首先通过Unsafe类的getIntVolatile()方法(native方法)拿到当前操作的AtomicInteger的实例中的value属性的值,在使用Unsafe类的compareAndSwapInt()方法(native方法),将当前操作的AtomicInteger的实例中的value属性的原值和新值进行CAS。如果没有交换成功就一直重复上面的动作,如果交换成功就跳出当前循环。

      

AtomicInteger的get()方法

    /*** Gets the current value.** @return the current value*/public final int get() {return value;}

        等100个线程,每个都完成100次累加后(案例中使用到了CountDownLatch保证100个线程都操作完成)在调用AtomicInteger的get()方法。我们发现AtomicInteger的get()方法获取的就是value这个值,value属性是由volatile修饰的(在多线程环境下保证其可见性)。

        最终我们发现AtomicInteger实现多线程并发保证线程安全,是通CAS(compare and swap)+volatile来实现的,从而避免synchronized的高开销,提高执行效率。

http://www.shuangfujiaoyu.com/news/19609.html

相关文章:

  • 网站建设 地址 昌乐百度搜索服务
  • 买一个域名网站排名seo软件
  • 深圳好点的网站建设公司cnzz数据统计
  • 做公考题的网站百度seo泛解析代发排名
  • 文化产业协会网站源码关于华大18年专注seo服务网站制作应用开发
  • 徐州网站seo公司网站关键词推广工具
  • 专业独立门户网站建设东莞seo快速排名
  • 深圳系统网站开发网站推广应该怎么做?
  • 重庆建站网站免费中小型企业网站设计与开发
  • 网站建设流程与步骤吉林网络公司
  • 视频剪辑在哪里学广州seo排名优化服务
  • 广平企业做网站推广建站合肥网络公司seo
  • 17素材网站百度关键词搜索排行榜
  • 云主机网站配置襄阳seo培训
  • 虚拟主机和vps的区别东莞seo建站排名
  • 免费b站不收费网站2023seo自动刷外链工具
  • wordpress 页脚广告刷网站seo排名软件
  • 免费的设计软件有哪些推广优化网站
  • 盱眙住房和城乡建设局网站seo搜索引擎优化是什么
  • 沈阳市网站设计制作公司深圳推广服务
  • 仿制别人的竞价网站做竞价犯法吗seo点击排名源码
  • 如何做网站二维码软文广告是什么意思
  • 专业的河南网站建设公司哪家好班级优化大师官方免费下载
  • 吴苏南网站建设企业如何进行搜索引擎优化
  • 品牌营销策划是干嘛的群站优化之链轮模式
  • 写网站论文怎么做的建立网站的步骤
  • 上海发布官网app灵宝seo公司
  • 如何选择小程序定制公司东莞百度seo关键词优化
  • 设计类网站建设规划书个人在线做网站免费
  • 鄂州网站建设什么网站可以发布广告