卡飞资源网

专业编程技术资源共享平台

用大白话的方式,带你搞懂Redis分布式锁!

小李接到一个小需求,开发一个秒杀功能,功能很简单,我一共有五个库存,某一时间开启秒杀,购买一次,库存减一,直至库存为零。小李一顿需求分析,觉得很简单,然后就开始一顿CV,完事,功能上线,然后就发现了问题。

public class Demo {
  //库存
    private static Long a=5L;
	//购买
    public static void buy(){
        if (a > 0) {
            a-=1;
            System.out.println(Thread.currentThread().getName()+"秒杀成功,商品剩余:"+a);
        }else {
            System.out.println(Thread.currentThread().getName()+"秒杀失败,商品库存不足");
        }
    }
		//开启秒杀
    public static void main(String[] args) {
        for (int i = 0; i < 10; i++) {
            new Thread(Demo::buy).start();
        }
    }
}
<< 1 >>
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言