diff options
Diffstat (limited to 'Assets/ThirdParty/VRM/VRM/DepthFirstScheduler/MonitorQueue.cs')
-rw-r--r-- | Assets/ThirdParty/VRM/VRM/DepthFirstScheduler/MonitorQueue.cs | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/Assets/ThirdParty/VRM/VRM/DepthFirstScheduler/MonitorQueue.cs b/Assets/ThirdParty/VRM/VRM/DepthFirstScheduler/MonitorQueue.cs deleted file mode 100644 index 79bf9823..00000000 --- a/Assets/ThirdParty/VRM/VRM/DepthFirstScheduler/MonitorQueue.cs +++ /dev/null @@ -1,47 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Threading; - - -namespace DepthFirstScheduler -{ - /// <summary> - /// http://blogs.msdn.com/b/toub/archive/2006/04/12/blocking-queues.aspx - /// - /// 終了を通知するにはnullを投入する手が使える - /// </summary> - /// <typeparam name="T"></typeparam> - public class MonitorQueue<T> - { - private Int32 _count = 0; - public Int32 Count - { - get - { - return _count; - } - } - - private Queue<T> _queue = new Queue<T>(); - - public T Dequeue() - { - lock (_queue) - { - while (_count <= 0) Monitor.Wait(_queue); - _count--; - return _queue.Dequeue(); - } - } - - public void Enqueue(T data) - { - lock (_queue) - { - _queue.Enqueue(data); - _count++; - Monitor.Pulse(_queue); - } - } - } -} |