最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

JDK提供的原子類操作及原理

標(biāo)簽:
Java

1,原子类介绍:

针对数据类型的操作,JDK提供的原子类来方便我们的线程安全控制。

所有的类保存在 java.util.concurrent.atomic 包中

基本数据类型 AtomicInteger

数组类型 AtomicIntegerArray

2,举个使用的例子:

解决之前的 i++ 安全性问题

如何解决?

AtomicInteger count = new AtomicInteger(0);

count.incrementAndGet();//相当于count++,区别是这里可以保证是原子操作

3,原理:

内部的原理是采用了CAS机制,大家可以通过观察源码就可以发现

那么什么是CAS机制?

CAS有人翻译为Compare And Set或Compare And Swap都是正确的。

在多线程并发执行的状态下,锁的状态改变,基本都是使用CAS原理,它有一个比较别扭的叫法“CPU硬件同步原语”,算法是基于CPU硬件的,原子性操作,不会被其他线程打断。

CAS的算法,比较当前值和期望的值是否相等,如果相等,则将当前值赋予一个新值。

再比如修改一个Boolean的类型的变量的值,我们也可以采用

private AtomicBoolean atomicBoolean = new AtomicBoolean(false);

public void lock(){

    //期望是false,如果是false,则可以修改为true

    atomicBoolean.compareAndSet(false, true);

}



點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機(jī)會得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消