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();
	}
}




}