protected class MyQueue<T>
{
private int MAX_COUNT = 100;
private Queue<T> queue = new Queue<T>();
public MyQueue(int count)
{
MAX_COUNT = count;
}
public bool Push(T info)
{
lock (queue)
{
if (MAX_COUNT == 0 || queue.Count < MAX_COUNT)
{
queue.Enqueue(info);
return true;
}
return false;
}
}
public T Pop()
{
lock (queue)
{
if (queue.Count > 0) return queue.Dequeue();
return default(T);
}
}
public void Clear()
{
lock (queue)
{
queue.Clear();
}
}
public int Count { get => return queue.Count; }
}
2018년 9월 4일 화요일
C# 간단한 쓰레드 안전 제네릭 큐 - C# Simple Thread-Safe Generic Queue Source Code
피드 구독하기:
글 (Atom)