您的当前位置:首页>资讯 > 正文

观热点:通过Queue 类解决C#数据并发问题

  • 2023-03-09 12:11:54 来源:腾讯云


(资料图片)

有一个秒杀场景,产品库存只有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个产品的归属;当然你可以说以...

每日热讯!mjstyle线上店_mjstyle官方旗舰店

1、重庆王府井渝中区民族路1号王府井百货1楼。2、重庆英利渝中区大坪正街1号英利国际广场吧 ! 。本文...

创泉季 | 区领导赴石泉路街道实地检查指导创城工作

3月8日下午,区委常委、政法委书记张伟赴石泉路街道实地检查指导创城工作。石泉路街道党工委书记朱铮,...

天天观点:房产315|青岛天一仁和悦湖锦府二期多户房屋墙体开裂

中国网财经3月9日讯近期,山东省青岛市天一仁和悦湖锦府二期被投诉,并收到相关部门的回复。

观天下!超声刀作用原理_超声刀作用

1、除皱:面部皱纹、鱼尾纹、额头皱纹等。都是年龄的大杀手。超声刀可以帮助去除这些老皱纹,消除额头纹...

猜您喜欢

【版权及免责声明】凡注明"转载来源"的作品,均转载自其它媒体,转载目的在于传递更多的信息,并不代表本网赞同其观点和对其真实性负责。亚洲文化网倡导尊重与保护知识产权,如发现本站文章存在内容、版权或其它问题,烦请联系。 联系方式:8 86 239 5@qq.com,我们将及时沟通与处理。

头条