1. 程式人生 > >asp.net c# 中的佇列queue通用類

asp.net c# 中的佇列queue通用類

/*********************************************
 * 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;
                }
            }
        }
    }
}