当前位置:主页 > 行业资讯 > > 正文

通过Queue 类解决C#数据并发问题

时间: 2023-03-09 03:16:14 来源: 腾讯云


(资料图片)

有一个秒杀场景,产品库存只有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将元素复制到新数组的方法。

功能和方法由于时间关系就不在这里一一提及了,感兴趣的自己去研究吧。最后,只是告诉你有这么一个类,怎么应用和如何用就根据自己的需求去了解吧。

关键词:

相关文章

通过Queue 类解决C#数据并发问题

有一个秒杀场景,产品库存只有5个,谁先抢到谁可以买,于是如何去界定这5个产品的归属;当然你可以说以时间,可以但容易出错,因为这个时间就

来源:腾讯云2023-03-09

【独家】【世界说】美国今年大规模枪击事件已超100起!美媒:难除的枪支暴力成为生活的一部分,让美国人麻木了!

中国日报网3月8日电据美国《福布斯》杂志网站6日报道,美国“枪支暴

来源:中国日报网2023-03-08

济南和谐广场附近有什么好吃的_环球百事通

济南和谐广场附近的好吃的食物有:1、烤鱼:一种发源于重庆万州的特色美食,在流传过程中,融合腌、烤、炖三种烹饪工艺技术;2、鸭血粉丝:主

来源:万年历2023-03-08

环球观速讯丨重敲医疗行业警钟!宁洱县医疗系统一人在警示教育大会上被带走……

重敲医疗行业警钟!宁洱县医疗系统一人在警示教育大会上被带走……

来源:普洱日报2023-03-08

欣兰冻膜导出原理是什么 全球热讯

欣兰冻膜导出原理:欣兰冻膜中含有超细竹炭粉,竹炭有超强的吸附力,这款冻膜就是利用竹炭的吸附力把黑头、白头从皮肤中吸附出来。欣兰冻膜十

来源:万年历2023-03-08