星空网 > 软件开发 > ASP.net

ConcurrentQueue对列的基本使用方式

  队列(Queue)代表了一个先进先出的对象集合。当您需要对各项进行先进先出的访问时,则使用队列。当您在列表中添加一项,称为入队,当您从列表中移除一项时,称为出队

  ConcurrentQueue<T>队列是一个高效的线程安全的队列,是.Net Framework 4.0,System.Collections.Concurrent命名空间下的一个数据结构。

 1 对列初始化: 2  3 ConcurrentQueue<ApiLogContract> Queue = new ConcurrentQueue<ApiLogContract>(); 4  5 /// <summary> 6 /// 单条入队列 7 /// </summary> 8 /// <param name="model">入列模型</param> 9 10 Queue.Enqueue(model);11 12 13 14 /// <summary>15 /// 多条入队16 /// </summary>17 /// <param name="list"></param>18 19 List<ApiLogContract> list = new List<ApiLogContract>();20 21 list.add(new model{});22 23 list.add(new model{});24 25 list.add(new model{});26 27 list.add(new model{});28 29 list.ForEach(t => Enqueue(t));30 31 32 33 /// <summary>34 /// 单条出队35 /// </summary>36 /// <returns></returns>37 38 ApiLogContract apiLog = null;39 Queue.TryDequeue(out apiLog);40 41 42 43 /// <summary>44 /// 多条出队45 /// </summary>46 /// <param name="count">数量</param>47 /// <returns></returns>48 49 var logs = new List<ApiLogContract>();50 51 if (Queue.Count > 0)52 {53   for (int i = 0; i < count; i++)54   {55     var source = Dequeue();56     if (source != null)57     {58       logs.Add(source);59     }60   }61 }

/// <summary>/// 获取对列数量/// </summary>/// <returns></returns>Queue.Count

以上就是对列的基本使用方法。

对列的使用场景有很多。所有要异步处理的都可以使用对列的方式。如接口日志异步处理,邮件、短信异步发送等。对列一般配合单例设计模式和线程一起使用更佳。




原标题:ConcurrentQueue对列的基本使用方式

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

专线马来西亚:https://www.goluckyvip.com/tag/49601.html
专线美国:https://www.goluckyvip.com/tag/49602.html
专线美国海运专线:https://www.goluckyvip.com/tag/49603.html
专线墨西哥:https://www.goluckyvip.com/tag/49604.html
专线欧洲:https://www.goluckyvip.com/tag/49605.html
专线沙特:https://www.goluckyvip.com/tag/49606.html
夹江千佛岩景区门票(夹江千佛岩景区门票价格):https://www.vstour.cn/a/411232.html
武陵山大裂谷周围景点 武陵山大裂谷周围景点图片:https://www.vstour.cn/a/411233.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流