通过Queue 类解决C#数据并发问题
(相关资料图)
有一个秒杀场景,产品库存只有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将元素复制到新数组的方法。
功能和方法由于时间关系就不在这里一一提及了,感兴趣的自己去研究吧。最后,只是告诉你有这么一个类,怎么应用和如何用就根据自己的需求去了解吧。
关键词:
精心推荐
-
1、第二季第三集,男主的眼里只有星空,而女主的眼里有男主。2、然后最后男主和女主也没有因为要告白的事情,两人也相拥在一起
-
1、一、性质不同岛式站台,又名中置式站台、中央站台,是铁路站台的一种型态,为路轨在两旁,站台被夹在中间的设计。2、2、侧式站台是位于一条
-
1、上海德尔福汽车空调系统有限公司是由上海汽车空调厂与美国德尔福汽车系统公司合资组建的国内最大的汽车空调系统开发制造商。
-
智通财经APP讯,上海电影(601595 SH)公告,公司与控股股东上海电影(集团)有限公司(简称“上影集团”)签署《股权转让协议》,将收购上影集团所
-
1、《坏蛋恶魔诱惑小女子》是一部出自于90后作家“哎D小妖”之手的小说。文章到此就分享结束,希望对大家有所帮助。
X 关闭
X 关闭
产业
-
不用跑北京 在家门口也能挂上顶...
日前,我省首个神经疾病会诊中心——首都医科大学宣武医院河北医院...
-
“十四五”期间 河北省将优化快...
从省邮政管理局获悉,十四五期间,我省将优化快递空间布局,着力构...
-
张家口市宣化区:光伏发电站赋能...
3月19日拍摄的张家口市宣化区春光乡曹庄子村光伏发电站。张家口市宣...
-
“张同学”商标被多方抢注 涉及...
“张同学”商标被多方抢注,官方曾点名批评恶意抢注“丁真” ...
-
山东济南“防诈奶奶团”花式反诈...
中新网济南12月15日电 (李明芮)“老有所为 无私奉献 志愿服...
-
广州新增1例境外输入关联无症状...
广州卫健委今日通报,2021年12月15日,在对入境转运专班工作人...
-
西安报告初筛阳性病例转为确诊病例
12月15日10:20,经陕西西安市级专家组会诊,西安市报告新冠病毒...
-
广东东莞新增本土确诊病例2例 ...
(抗击新冠肺炎)广东东莞新增本土确诊病例2例 全市全员核酸检测...
-
中缅边境临沧:民警深夜出击捣毁...
中新网临沧12月15日电 (胡波 邱珺珲)记者15日从云南临沧边境...
-
“土家鼓王”彭承金:致力传承土...
中新网恩施12月15日电 题:“土家鼓王”彭承金:致力传承土家...