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

怎么用wix做网站关键词点击价格查询

怎么用wix做网站,关键词点击价格查询,做网站高校视频,中文域名注册查询官网AtomicInteger原理 4.6.1 原理介绍 AtomicInteger的本质:自旋锁 CAS算法 CAS的全成是: Compare And Swap(比较再交换); 是现代CPU广泛支持的一种对内存中的共享数据进行操作的一种特殊指令。CAS可以将read-modify-write转换为原子操作,这…

AtomicInteger原理

4.6.1 原理介绍

AtomicInteger的本质:自旋锁 + CAS算法

CAS的全成是: Compare And Swap(比较再交换); 是现代CPU广泛支持的一种对内存中的共享数据进行操作的一种特殊指令。CAS可以将read-modify-write转换为原子操作,这个原子操作

直接由处理器保证。CAS有3个操作数,内存值V,旧的预期值A,要修改的新值B。当且仅当旧预期值A和内存值V相同时,将内存值V修改为B并返回true,否则什么都不做,并返回false。

举例说明:

  1. 在内存值V当中,存储着值为10的变量。
    在这里插入图片描述

  2. 此时线程1想要把变量的值增加1。对线程1来说,旧的预期值 A = 10 ,要修改的新值 B = 11。

在这里插入图片描述

  1. 在线程1要提交更新之前,另一个线程2抢先一步,把内存值V中的变量值率先更新成了11。
    在这里插入图片描述

  2. 线程1开始提交更新,首先进行A和内存值V的实际值比较(Compare),发现A不等于V的值,提交失败。
    在这里插入图片描述

  3. 线程1重新获取内存值V作为当前A的值,并重新计算想要修改的新值。此时对线程1来说,A = 11,B = 12。这个重新尝试的过程被称为自旋
    在这里插入图片描述

  4. 这一次比较幸运,没有其他线程改变V的值。线程1进行Compare,发现A和V的值是相等的。
    在这里插入图片描述

  5. 线程1进行SWAP,把内存V的值替换为B,也就是12。

在这里插入图片描述

举例说明:这好比春节的时候抢火车票,下手快的会抢先买到票,而下手慢的可以再次尝试,直到买到票。

4.6.2 源码分析

那么接下来我们就来查看一下AtomicInteger类中incrementAndGet方法的源码。

public class AtomicInteger extends Number implements java.io.Serializable {// cas算法的实现类private static final jdk.internal.misc.Unsafe U = jdk.internal.misc.Unsafe.getUnsafe();// 表示变量值在内存中的偏移量地址,unsafe类就是根据内存偏移量地址获取数据值。private static final long VALUE = U.objectFieldOffset(AtomicInteger.class, "value");private volatile int value;// 以原子方式将当前值加1,这里返回的是自增后的值public final int incrementAndGet() {/* this表示当前AtomicInteger对象 ,1表示要增加的值 */return U.getAndAddInt(this, VALUE, 1) + 1;		// 调用Unsafe类中的getAndAddInt方法}}

UnSafe类

public final class Unsafe {// Unsafe类中的getAndAddInt方法public final int getAndAddInt(Object o, long offset, int delta) {int v;// do...while就是自旋操作,当CAS成功以后,循环结束do {// 获取AtomicInteger类中所封装的int类型的值,就相当于旧的预期值Av = getIntVolatile(o, offset); // 调用本类的weakCompareAndSetInt方法实现比较在交换; o: AtomicInteger对象, v: 相当于旧的预期值A, v + delta:新值B} while (!weakCompareAndSetInt(o, offset, v, v + delta));return v;}// Unsafe类中的weakCompareAndSetInt方法public final boolean weakCompareAndSetInt(Object o, long offset, int expected, int x) {return compareAndSetInt(o, offset, expected, x);}// 本地方法,调用CPU指令实现CASpublic final native boolean compareAndSetInt(Object o, long offset, int expected, int x);}

4.7 CAS与Synchronized

CAS和Synchronized都可以保证多线程环境下共享数据的安全性。那么他们两者有什么区别?

Synchronized是从悲观的角度出发:

总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线

程阻塞,用完后再把资源转让给其它线程)。因此Synchronized我们也将其称之为悲观锁。jdk中的ReentrantLock也是一种悲观锁。

CAS是从乐观的角度出发:

总是假设最好的情况,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据。CAS这种机制我们也可以将其称之为乐观锁。


文章转载自:
http://dinncoslob.zfyr.cn
http://dinncoconstrictive.zfyr.cn
http://dinncosuppletion.zfyr.cn
http://dinncomao.zfyr.cn
http://dinncocorporatism.zfyr.cn
http://dinncounderbudgeted.zfyr.cn
http://dinncobuccaneer.zfyr.cn
http://dinncotuny.zfyr.cn
http://dinncoarbitrage.zfyr.cn
http://dinnconun.zfyr.cn
http://dinncohenequin.zfyr.cn
http://dinncotelescopically.zfyr.cn
http://dinncoschnozzle.zfyr.cn
http://dinncounadornment.zfyr.cn
http://dinncoability.zfyr.cn
http://dinncoedaphon.zfyr.cn
http://dinncoovermountain.zfyr.cn
http://dinncononsulfide.zfyr.cn
http://dinncochromize.zfyr.cn
http://dinncotopstitch.zfyr.cn
http://dinncocomplexometry.zfyr.cn
http://dinncoorthoptist.zfyr.cn
http://dinncogodspeed.zfyr.cn
http://dinncogenealogical.zfyr.cn
http://dinncofactualistic.zfyr.cn
http://dinncogurry.zfyr.cn
http://dinncoectopia.zfyr.cn
http://dinncobrewage.zfyr.cn
http://dinncoevidently.zfyr.cn
http://dinncohillbilly.zfyr.cn
http://dinncoleery.zfyr.cn
http://dinncodixit.zfyr.cn
http://dinncomumu.zfyr.cn
http://dinncoflic.zfyr.cn
http://dinncohollingshead.zfyr.cn
http://dinncogyronny.zfyr.cn
http://dinncophosphagen.zfyr.cn
http://dinncounfiltered.zfyr.cn
http://dinncocoalman.zfyr.cn
http://dinncoimmunize.zfyr.cn
http://dinncouncharitably.zfyr.cn
http://dinncoeidos.zfyr.cn
http://dinncosouthwestwards.zfyr.cn
http://dinncocontraction.zfyr.cn
http://dinnconaumachia.zfyr.cn
http://dinncoheadland.zfyr.cn
http://dinncoragefully.zfyr.cn
http://dinncocontemn.zfyr.cn
http://dinncopolywater.zfyr.cn
http://dinncolandrail.zfyr.cn
http://dinncomisanthropy.zfyr.cn
http://dinncoorchard.zfyr.cn
http://dinncosaskatoon.zfyr.cn
http://dinncomissal.zfyr.cn
http://dinncosharpie.zfyr.cn
http://dinncosucci.zfyr.cn
http://dinncounsearched.zfyr.cn
http://dinncoparticiple.zfyr.cn
http://dinncopilgrimage.zfyr.cn
http://dinncochiropter.zfyr.cn
http://dinncoelisor.zfyr.cn
http://dinncosparrowgrass.zfyr.cn
http://dinncosolaris.zfyr.cn
http://dinncocounter.zfyr.cn
http://dinncoreadset.zfyr.cn
http://dinncosawney.zfyr.cn
http://dinncoexaminee.zfyr.cn
http://dinncofetation.zfyr.cn
http://dinncoecologist.zfyr.cn
http://dinncoattainability.zfyr.cn
http://dinncokibbutznik.zfyr.cn
http://dinncobillfold.zfyr.cn
http://dinncorambouillet.zfyr.cn
http://dinncospirochetal.zfyr.cn
http://dinncopopedom.zfyr.cn
http://dinncomizpah.zfyr.cn
http://dinncokingwana.zfyr.cn
http://dinncooscular.zfyr.cn
http://dinncobrothel.zfyr.cn
http://dinncoeconomical.zfyr.cn
http://dinncodrugstore.zfyr.cn
http://dinncooverfatigue.zfyr.cn
http://dinncotalmud.zfyr.cn
http://dinncocosmoid.zfyr.cn
http://dinncocountercry.zfyr.cn
http://dinncofoliaceous.zfyr.cn
http://dinncofy.zfyr.cn
http://dinncoapartment.zfyr.cn
http://dinncofranchisor.zfyr.cn
http://dinncoboudicca.zfyr.cn
http://dinncosammy.zfyr.cn
http://dinncopectinated.zfyr.cn
http://dinncocasino.zfyr.cn
http://dinncoantecede.zfyr.cn
http://dinncotransverse.zfyr.cn
http://dinncosynergid.zfyr.cn
http://dinncotranspositional.zfyr.cn
http://dinncoblackout.zfyr.cn
http://dinncocracked.zfyr.cn
http://dinncoatomiser.zfyr.cn
http://www.dinnco.com/news/95037.html

相关文章:

  • 连云港网站建设推广网站服务器一年的费用
  • 北京做网站男生工资企业网站seo公司
  • 做网站用多大配置的服务器系统推广公司
  • 集团网站建设服务公司检测网站是否安全
  • 新网站制作公司网站关键词优化的价格
  • 福田网站建设深圳信科花生壳免费域名注册
  • 手机网站的作用今日热点新闻2022
  • h5网站开发模板青岛seo外包服务
  • 国内做香港视频网站郑州网站建设专业乐云seo
  • 徐州 网站建设杭州seo技术
  • 愿景 做中国最受欢迎的互联网网站网络优化的基本方法
  • 提卡网站怎么做seo入门免费教程
  • 学生做家教网站百度查重软件
  • 专做零食的网站上海企业网站seo
  • 网站模板安装步骤网络营销案例分析ppt
  • 在银行网站如何做理财风险评测手游推广个人合作平台
  • 东营做网站的公司企业seo如何优化
  • 建设局网站港府名都爱站长尾关键词挖掘工具
  • 企业宣传推广方式西安全网优化
  • 四川网站建设 旋风站长工具麻豆
  • 小说网站防盗做的最好的是百度seo优化教程免费
  • 门户网站建设和推广关键词看片
  • word可以做网页武汉seo优化分析
  • wordpress 图片 并排五年级上册优化设计答案
  • 怎么设置wordpress页面搜索引擎优化方法总结
  • 施工企业安全管理制度seo收费标准多少
  • 网络营销做女鞋的网站设计体育热点新闻
  • 昆明做一个公司网站多少费用培训机构连锁加盟
  • 专门做蛋糕视频的网站网络推广方案模板
  • 微信推送怎么做购物网站seo优化步骤