FunGame-Core/Api/Utility/ConcurrentQueue.cs
2026-04-05 22:14:20 +08:00

36 lines
791 B
C#

using System.Collections;
namespace Milimoe.FunGame.Core.Api.Utility
{
public class ConcurrentQueue<T> : IEnumerable<T>
{
private System.Collections.Concurrent.ConcurrentQueue<T> Instance { get; } = [];
public bool IsEmpty => Instance.IsEmpty;
public int Count => Instance.Count;
public void Clear() => Instance.Clear();
public void Add(T obj)
{
Instance.Enqueue(obj);
}
public bool GetFirst(out T? obj)
{
return Instance.TryDequeue(out obj);
}
public IEnumerator<T> GetEnumerator()
{
return Instance.GetEnumerator();
}
IEnumerator IEnumerable.GetEnumerator()
{
return GetEnumerator();
}
}
}