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

爱站网关键词密度网站建设与维护 实训

爱站网关键词密度,网站建设与维护 实训,网站建设企业公司,烟台seo网站诊断Unsafe类是CAS的核心#xff0c;由于Java方法无法直接访问底层#xff0c;需要通过本地方法(native)来实现#xff0c;Unsafe类相当于一个桥梁。基于Unsafe类#xff0c;可以直接操作特定的内存数据。 我们从上一篇说CAS基本原理的时候#xff0c;有说到一个“资源”被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.w-s-a.com/news/777692/

相关文章:

  • 清远新闻最新消息福建seo搜索引擎优化
  • 凡客建站网微信网站怎么做的
  • 网站建设费怎么写会计科目行业网站建设公司
  • 网站里的友情链接网站建设个人简历的网页
  • 佛山自助建站软件湖南seo优化推荐
  • 免费微信微网站模板下载不了优化人员配置
  • wordpress 导航网站主题画流程图的网站
  • 皮卡剧网站怎样做排名网
  • 网站开发 兼职哪个网站是做安全教育
  • 商品展示类网站怎么用群晖nas做网站
  • 长腿蜘蛛wordpresssem优化推广
  • 中国铁路建设监理协会官方网站深圳福田区怎么样
  • 互联网网站开发发展wordpress文章自定义栏目
  • 众筹网站平台建设工信部网站备案系统
  • 网站301重定向代码wordpress 加子目录
  • 淄博网站制作优化推广asp做学生信息网站
  • 海口招商建设有限公司网站淮安哪有专业做网站的公司
  • 喀什哪有做网站的国内正规seo网络推广
  • 网站设计初步规划公司网页打不开是什么原因
  • 深圳企业网站建设推广服务php做的商城网站设计论文
  • 韩雪冬网站手机网站开发 宽度
  • 奉贤专业做网站新手怎么做企业网站
  • 做网站用哪几个端口 比较好手机号网站源码
  • 手机免费代理ip网站那个旅游网站做攻略最好
  • 西安做网站找哪家公司好苏州专业网站建设开发
  • dedecms如何做网站网站设计实施方案
  • 网站建设合约品牌设计有哪些
  • 织梦企业门户网站宝塔搭建wordpress网站
  • 网站为什么没有排名了11月将现新冠感染高峰
  • 网站开发维护专员岗位职责辽阳企业网站建设