91高清免费观看_亚洲高清视频免费观看_91视频综合_国产精品一区99_伊人手机视频_懂色av懂色aⅴ精彩av

有趣生活

当前位置:首页>职场>ca和cap有什么不同(什么是CAS怎样工作的)

ca和cap有什么不同(什么是CAS怎样工作的)

发布时间:2024-01-24阅读(3)

导读在计算机科学中,比较和交换(ConmpareAndSwap)是用于实现多线程同步的原子指令它将内存位置的内容与给定值进行比较,只有在相同的情况下,将该内存位....

在计算机科学中,比较和交换(Conmpare And Swap)是用于实现多线程同步的原子指令 它将内存位置的内容与给定值进行比较,只有在相同的情况下,将该内存位置的内容修改为新的给定值 这是作为单个原子操作完成的 原子性保证新值基于最新信息计算; 如果该值在同一时间被另一个线程更新,则写入将失败 操作结果必须说明是否进行替换; 这可以通过一个简单的布尔响应(这个变体通常称为比较和设置),或通过返回从内存位置读取的值来完成(摘自维基本科),我来为大家讲解一下关于ca和cap有什么不同?跟着小编一起来看一看吧!

ca和cap有什么不同(什么是CAS怎样工作的)

ca和cap有什么不同

在计算机科学中,比较和交换(Conmpare And Swap)是用于实现多线程同步的原子指令。 它将内存位置的内容与给定值进行比较,只有在相同的情况下,将该内存位置的内容修改为新的给定值。 这是作为单个原子操作完成的。 原子性保证新值基于最新信息计算; 如果该值在同一时间被另一个线程更新,则写入将失败。 操作结果必须说明是否进行替换; 这可以通过一个简单的布尔响应(这个变体通常称为比较和设置),或通过返回从内存位置读取的值来完成(摘自维基本科)

CAS可以有效的提升并发的效率,但同时也会引入ABA问题。

CAS其实就是实现一种乐观的自旋锁,相较于synchronize的悲观锁,没有阻塞状态,自然也就没有上下文的切换了,而线程状态的切换,耗时比CAS的自旋比较操作耗时大得多。

原子性是什么?原子性就是最小单位,原子性操作就是最小的操作,无法再进一步分割,这操作的结果只有2种,完成或者未完成。例如 int a = 1,这种就是原子性操作。而a ,这个就不是原子性操作,因为a ,会拆解为3步,读取a的值,a增加1,再把a的值刷新。

还是那个例子,2个线程,同时对一个变量a进行递增,每次 1,递增100次。当2个线程都执行完毕,a的结果不会是200,会小于200。

解决办法?第一时间就会想到加个锁,因为锁能保证一段代码块执行完毕,从而保证原子性。但是,如果要执行的代码足够简单的时候,例如上面的只有个a ,使用锁的话,会十分浪费,性能也不高,因为一个线程获得了锁,其他线程都无法进行了。所以,就需要用到了CAS

怎样工作的:初始AtomicInteger的值为0线程A执行:var5 = this.getIntVolatile(var1,var2);获取的结果为:0线程A被暂停线程B执行:var5 = this.getIntVolatile(var1,var2);获取的结果为:0线程B执行:this.compareAndSwapInt(var1,var2,var5,var5 var4)线程B成功将AtomicInteger中的值改为1线程A恢复运行,执行:this.compareAndSwapInt(var1,var2,var5,var5 var4),此时线程A使用var1和var2从AtomicInteger中获取的值为:1,而传入的var5为0,比较失败,返回false,继续循环。线程A执行:var5 = this.getIntVolatile(var1,var2);获取的结果为:1线程A执行:this.compareAndSwapInt(var1,var2,var5,var5 var4),此时线程A使用var1和var2从AtomicInteger中获取的值为:1,而传入的var5为1,比较成功,将其修改为var5 var4,也就是2,将AtomicInteger中的值改为2,结束。

欢迎分享转载→http://www.umpkq.cn/read-216380.html

Copyright ? 2024 有趣生活 All Rights Reserve吉ICP备19000289号-5 TXT地图

主站蜘蛛池模板: 亚洲高清不卡视频 | 在线高清免费爱做网 | 999热在线精品观看全部 | 国产成人精品日本亚洲网站 | 欧美成人家庭影院 | 人妻丰满熟妇aⅴ无码 | 午夜网址| 大香伊蕉在人线国产最新75 | 99热久久这里只有精品首页 | 日韩欧美一区二区中文字幕 | 国产成人av一区二区三区 | 日韩成a人片在线观看日本 日韩成人大屁股内射喷水 日韩成人国产精品视频 | 乱人伦一区二区三区 | 久久夜色精品国产亚洲av | 一级做a毛片在线看 | 性色av无码一区二区三区人妻 | 午夜影院在线播放 | 中文无码日韩欧免费视频 | 成人网在线 | 女人被狂躁高潮啊的视频在线看 | 久播影院免费理论片成年看 | 天天色天天操天天 | 日韩在线视频免费观看 | 成年美女在线观看免费视频 | 禁断看护妇中文字幕在线视频 | 久久人人爽人人爽人人片av不 | 亚洲视频四区 | 四虎欧美在线观看免费 | 精品国产精品 | 男女啪啪高清无遮挡免费 | 大地资源中文第3页 | 日韩精品无码一本二本三本 | 农村老熟妇乱子伦视频 | 国产欧美久久久另类精品 | 厨房掀起裙子从后面进去视频 | 亚洲三级视频在线观看 | 久久久久久久999 | 黄视频在线观看免费 | 91九色在线视频 | 久久精品二区 | 亚洲精品一区二区手机在线 |