【环球速看料】通过Queue 类解决C#数据并发问题
有一个秒杀场景,产品库存只有5个,谁先抢到谁可以买,于是如何去界定这5个产品的归属;当然你可以说以时间,可以但容易出错,因为这个时间就
(资料图片仅供参考)
有一个秒杀场景,产品库存只有5个,谁先抢到谁可以买,于是如何去界定这5个产品的归属;当然你可以说以时间,可以但容易出错,因为这个时间就需要到豪秒级的判断了。
那有什么其他办法呢?最近用到了一个Queue 类,这个类的好处是:对象的先进先出集合,就是说进入早的就出的早,晚的就晚出,这个好理解吧。这样就解决多线程下的出入问题。
我们还是举个例子吧,上代码。
Queue car= new Queue();// car.Enqueue("A乘客");car.Enqueue("B乘客"); car.Enqueue("C乘客"); //乘客列表foreach (Object obj in car){ Console.Write(" {0}", obj);}Console.WriteLine($"乘客总数量:"+car.Count+"个");//乘客下车Console.WriteLine("\r\n(Dequeue)\t{0}", car.Dequeue());
上面的代码就一个简单的先进先出例子,乘客排序上车,然后由先进的进行下车。
当然上面只是简单地描述了一下Queue 的用途,它除了刚提到的Dequeue() 方法还有一个Enqueue()进行元素添加都结尾的方法,还有2个比较好用的方法: Queue.CopyTo(Array, Int32) 这个是将元素复制到指定的一维数组中及Queue.ToArray将元素复制到新数组的方法。
功能和方法由于时间关系就不在这里一一提及了,感兴趣的自己去研究吧。最后,只是告诉你有这么一个类,怎么应用和如何用就根据自己的需求去了解吧。
标签:
有一个秒杀场景,产品库存只有5个,谁先抢到谁可以买,于是如何去界定这5个产品的归属;当然你可以说以时间,可以但容易出错,因为这个时间就
近日,邮储银行融水县支行党支部在融水县人力资源和社会保障局开展的2023年“就业暖心·桂在行动”专项服务活动-融水县赴粤返岗劳务工“点...
1、1 对于(跳墙软件)。点击右下角,看看跳墙软件是否开启。如果打开了,就关掉发射。2、2 对于(断网),可以打开其他网
北京时间3月9日凌晨,随着梁靖崑以4-2战胜队友林诗栋,夺得男子单打冠军,2023年WTT球星挑战赛果阿站圆满结束。而在最新一期世界排名中,梁靖
1、富大龙,北京人,1976年2月出生于甘肃天水,毕业于北京电影学院94级表演系,中国内地男演员,北京演艺专修学院客座教
北京时间3月8日讯,日前阿森纳名宿伊恩-赖特在一次电台节目中怒批曼联球员B费近期的表现。
缘溪行、便扶向路:沿着,顺着。便要还家、延至其家:要通“邀”,邀请。悉如外人、咸来问讯、皆叹惋、并怡然自乐:都。此中人语云、不足为...
深度好文,独到观点,全都在这里~
[ 相关新闻 ]