You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

54 lines
984 B
C#

using System.Collections.Concurrent;
namespace Myshipping.Core;
/// <summary>
/// 简单泛型队列
/// </summary>
public static class SimpleQueue<T> where T : new()
{
private static ConcurrentQueue<T> _simpleQueue;
static SimpleQueue()
{
_simpleQueue = new ConcurrentQueue<T>();
}
/// <summary>
/// 新增
/// </summary>
/// <param name="obj"></param>
public static void Add(T obj)
{
_simpleQueue.Enqueue(obj);
}
/// <summary>
/// 取出
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public static bool Try(out T obj)
{
return _simpleQueue.TryDequeue(out obj);
}
/// <summary>
/// 总数
/// </summary>
/// <returns></returns>
public static int Count()
{
return _simpleQueue.Count;
}
/// <summary>
/// 清理
/// </summary>
public static void Clear()
{
_simpleQueue.Clear();
}
}