您好,登錄后才能下訂單哦!
這篇文章主要介紹“java CAS的概念是什么”的相關(guān)知識(shí),小編通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“java CAS的概念是什么”文章能幫助大家解決問(wèn)題。
1、說(shuō)明
當(dāng)多個(gè)線程同時(shí)對(duì)某個(gè)資源進(jìn)行CAS操作時(shí),只有一個(gè)線程成功,但不會(huì)堵塞其他線程,其他線程只會(huì)收到操作失敗的信號(hào)。可見(jiàn)CAS其實(shí)是一個(gè)樂(lè)觀的鎖。
2、實(shí)例
跟隨AtomInteger的代碼,我們可以發(fā)現(xiàn)最終調(diào)用的是sum.misc.Unsafe??纯碪nsafe這個(gè)名字,它是一個(gè)不安全的類別,它利用了Java類別和可見(jiàn)性規(guī)則中恰到好處的漏洞。為了速度,Unsafe在Java的安全標(biāo)準(zhǔn)上做出了一些妥協(xié)。
public final native boolean compareAndSwapInt(Object var1, long var2, int var4, int var5);
這幾個(gè) CAS 的方法應(yīng)該是使用了本地的方法。所以這幾個(gè)方法的具體實(shí)現(xiàn)需要我們自己去 jdk 的源碼中搜索。
1.Java語(yǔ)言作為靜態(tài)面向?qū)ο缶幊陶Z(yǔ)言的代表,實(shí)現(xiàn)了面向?qū)ο罄碚?,允許程序員以優(yōu)雅的思維方式進(jìn)行復(fù)雜的編程。
2.Java具有簡(jiǎn)單性、面向?qū)ο?、分布式、安全性、平臺(tái)獨(dú)立與可移植性、動(dòng)態(tài)性等特點(diǎn)。
3.使用Java可以編寫(xiě)桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序等。
關(guān)于“java CAS的概念是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。