您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
CAS:比较并交换
借助已经实现的类AtomicInteger
内部原理:把当前的值和原来的值(序列号、地址等)作比较,如果相等则覆盖
public class my {
//借助已经实现的类AtomicInteger
//库存
private static AtomicInteger stock=new AtomicInteger(5); //假设库存有五件商品
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(); //相减和获取
//内部已实现CAS原子操作
if(left<1)
{
System.out.println("抢完了");
return;
}
System.out.println(Thread.currentThread().getName()+"抢了一件商品");
System.out.println("还剩下:"+left);
}).start();
}
}
}
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。