BlockingQueue.Dequeue C# (CSharp) Method

Dequeue() public method

public Dequeue ( ) : T,
return T,
            public T Dequeue()
            {
    			lock (_queue)
    			{
    				while (_queue.Count == 0) Monitor.Wait(_queue);
    				return _queue.Dequeue();
    			}
             }
         }

Usage Example

Exemplo n.º 1
0
        public void AddImpressionWithFullQueue()
        {
            //Arrange
            var queue      = new BlockingQueue <KeyImpression>(1);
            var cache      = new InMemorySimpleCache <KeyImpression>(queue);
            var impression = new KeyImpression {
                feature = "test", changeNumber = 100, keyName = "date", label = "testdate", time = 10000000
            };
            var impression2 = new KeyImpression {
                feature = "test2", changeNumber = 100, keyName = "date", label = "testdate", time = 10000000
            };

            //Act
            cache.AddItems(new List <KeyImpression> {
                impression
            });
            cache.AddItems(new List <KeyImpression> {
                impression2
            });

            var element  = queue.Dequeue();
            var element2 = queue.Dequeue();

            //Assert
            Assert.IsNotNull(element);
            Assert.IsNull(element2);
        }
All Usage Examples Of BlockingQueue::Dequeue
BlockingQueue