using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Linq;
namespace Masuit.Tools.NoSQL.MongoDBClient
{
///
/// 定长队列
///
///
class ConcurrentLimitedQueue : ConcurrentQueue
{
public int Limit { get; set; }
public ConcurrentLimitedQueue(int limit)
{
Limit = limit;
}
public ConcurrentLimitedQueue(IEnumerable list) : base(list)
{
Limit = list.Count();
}
public new void Enqueue(T item)
{
if (Count >= Limit)
{
TryDequeue(out var _);
}
base.Enqueue(item);
}
}
}