新聞中心
這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
java多線程-CAS原子操作
CAS:比較并交換
借助已經(jīng)實(shí)現(xiàn)的類AtomicInteger
內(nèi)部原理:把當(dāng)前的值和原來的值(序列號(hào)、地址等)作比較,如果相等則覆蓋
創(chuàng)新互聯(lián)建站公司2013年成立,先為弓長(zhǎng)嶺等服務(wù)建站,弓長(zhǎng)嶺等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為弓長(zhǎng)嶺企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
public class my {
//借助已經(jīng)實(shí)現(xiàn)的類AtomicInteger
//庫存
private static AtomicInteger stock=new AtomicInteger(5); //假設(shè)庫存有五件商品
public static void main(String[]args) throws InterruptedException
{
for(int i=0;i<5;i++)
{
new Thread(()->{
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
Integer left=stock.decrementAndGet(); //相減和獲取
//內(nèi)部已實(shí)現(xiàn)CAS原子操作
if(left<1)
{
System.out.println("搶完了");
return;
}
System.out.println(Thread.currentThread().getName()+"搶了一件商品");
System.out.println("還剩下:"+left);
}).start();
}
}
}
網(wǎng)站欄目:java多線程-CAS原子操作
地址分享:http://fisionsoft.com.cn/article/pdssji.html