尹念念的博客

asp.net c# 中的队列queue通用类

发布时间:2018-08-02 14:26:16阅读: 678 评论数:

/*********************************************
 * CLR 版本:       4.0.30319.42000
 * 类 名 称:       QueueHelper
 * 机器名称:       MS-20170310FLQY
 * 命名空间:       Utils
 * 文 件 名:       QueueHelper
 * 创建时间:       2017-07-21 10:57:38
 * 作    者:       Choj
 * 说    明:     
 * 修改时间:
 * 修 改 人:
 * 
*********************************************/
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
 
namespace Utils
{
    /// <summary>
    /// QueueHelper
    /// </summary>
    public class QueueHelper<T> where T : class, new()
    {
        /// <summary>
        /// 实例化
        /// </summary>
        public static QueueHelper<T> Instance = new QueueHelper<T>();
        private Queue<T> queue = new Queue<T>();
        /// <summary>
        /// 添加到队列
        /// </summary>
        /// <param name="t"></param>
        /// <returns></returns>
        public void Enqueue(T t)
        {
            lock (queue)
            {
                queue.Enqueue(t);
            }
        }
        /// <summary>
        /// 
        /// </summary>
        /// <returns></returns>
        public T Dequeue()
        {
            lock (queue)
            {
                if (queue.Count > 0)
                { 
                    return queue.Dequeue();
                }
                else
                {
                    return null;
                }
            }
        }
    }
}