Ejemplo n.º 1
0
        private SmartSyncQueue <T> GetQueue(QueuePrority prority)
        {
            switch (prority)
            {
            case QueuePrority.High:
                return(_highQ);

            case QueuePrority.Normal:
                return(_normalQ);

            default:
                throw new ArgumentOutOfRangeException("prority");
            }
        }
Ejemplo n.º 2
0
        public bool TryDequeue(out T result, out QueuePrority prority)
        {
            prority = default(QueuePrority);

            if (_highQ.TryDequeue(out result))
            {
                prority = QueuePrority.High;
                return(true);
            }

            if (_normalQ.TryDequeue(out result))
            {
                prority = QueuePrority.Normal;
                return(true);
            }

            return(false);
        }
Ejemplo n.º 3
0
        public void Enqueue(T item, QueuePrority prority)
        {
            var queue = GetQueue(prority);

            queue.Enqueue(item);
        }
Ejemplo n.º 4
0
        public void Clear(QueuePrority prority)
        {
            SmartSyncQueue <T> queue = GetQueue(prority);

            queue.Clear();
        }