首页 > 经济 > 正文

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

来源:腾讯云 发布日期:2023-03-10 15:58:26 分享到:


(资料图片)

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

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

关键词:

x 广告

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

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

全球百事通!串联电路和并联电路高中_串联电路和并联电路

1、这个是并联啦!串联电路中电流只有一条通道,并联中电流有很多通道且干路电流等于支路电流之和也就是说并联电路中,电路

【全球独家】超音速飞机最高时速多少公里_超音速飞机最高时速

1、超音速飞机的飞机速度用马赫数来表示,马赫为飞机器的速度与当地音速之比。2、如10马赫即10倍于音速。3、美国宇航局研制的X-43A超音速实验

资讯:失散29年!他们一家人在祁东相认,场面相当感人

失散29年!他们一家人在祁东相认,场面相当感人

世界新动态:arccosx的导数是什么_arccos

1、arccos表示的是反三角函数中的反余弦。2、在三角学中,反余弦被定义为一个角度,也就是反余值的反函数,然而余弦函数

当前速看:晶雪节能3月10日盘中涨停

以下是晶雪节能在北京时间3月10日09:57分盘口异动快照:3月10日9点57分,晶雪节能盘中涨停,报23 16元,目前封单147975手,折合3 43亿元。截至

当前速读:曼联vs贝蒂斯评分:B费8.8分最高

曼联vs贝蒂斯评分:B费8 8分最高,曼联,华金,胡安米,恩里克,费利佩,卡塞雷斯,克劳迪奥·布拉沃,皇家贝蒂斯足球俱乐部

环球热讯:盗铃掩耳盗铃的意思_掩耳盗铃的意思

1、掩耳盗铃春秋时侯,晋国贵族智伯灭掉了范氏。2、有人趁机跑到范氏家里想偷点东西,看见院子里吊着一口大钟。3、钟是用

x 广告

Copyright   2015-2022 东方海洋网版权所有  备案号:沪ICP备2020036824号-8   联系邮箱:562 66 29@qq.com