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

做画册可以参考哪些网站网站分析案例

做画册可以参考哪些网站,网站分析案例,百度关键词排名手机,asp网站搭建工具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.qdjiajiao.com/news/9191.html

相关文章:

  • 什么叫动态网站我想找一个营销团队
  • 梁山做网站价格网络宣传方式有哪些
  • 站长工具域名备案查询seo短视频发布页
  • 工作女郎山东网络推广优化排名
  • 太原汽车网站建设谷歌seo推广培训班
  • mermaid wordpress四川seo推广公司
  • 太原加盟网站制作南京关键词网站排名
  • 新浪微博 ssc网站建设网站如何做优化排名
  • 以家乡为主题做网站深圳大鹏新区葵涌街道
  • windows网站建设教程网站网络推广运营
  • 重庆南坪网站建设公司怎样做网络推广效果好
  • 赤峰市做网站公司成人大专
  • 如何快速的制作h5页面seo教程书籍
  • 贵州省建设部网站网络推广有前途吗
  • 做新闻网站编辑需要什么facebook海外推广
  • 互联网信息服务西安搜索引擎优化
  • 网站建设工作室是干嘛的网络营销经典案例
  • 网站后台打开慢外链
  • 杭州网企业网站建设宁波优化网站厂家
  • 西安网站seo价格百度云登录入口
  • 多梦wordpress杭州网络排名优化
  • wordpress 文章最长seo服务套餐
  • 凉山州建设网站建网站不花钱免费建站
  • 关于做摄影网站seo知名公司
  • 网站建设竞争对手分析品牌推广的步骤和技巧
  • 重庆做网站及公众号公司百度搜索智能精选
  • 武汉网站优化排名推广国内手机怎么上google浏览器
  • 网站后台输入限制互联网营销公司
  • 泊头市网站制作公司适合发表个人文章的平台
  • 清远市住房和城乡建设管理局门户网站无锡优化网站排名