Dequeue() public method

public Dequeue ( ) : object
return object
Beispiel #1
0
 public void Start()
 {
     try {
         while (true)
         {
             object o = _q.Dequeue();
             lock ( _list ) { _list.Add(o); }
         }
     }
     catch (InvalidOperationException) {
         //Queue is closed now.
     }
 }
Beispiel #2
0
            public void CheckQueues()
            {
                for (int i = 0; i < TRIALS; i++)
                {
                    int idx = BlockingQueue.Select(_queues, 5000);
                    Assert.IsFalse(idx == -1, "Timeout check");
                    BlockingQueue b = (BlockingQueue)_queues[idx];
                    bool          timedout;
                    object        val = b.Dequeue(0, out timedout);
                    Assert.IsFalse(timedout, "Dequeue didn't time out");
                    Assert.AreEqual(val, idx, "Dequeue matches index");
                }
                //Any future selects *should* timeout
                int idx2 = BlockingQueue.Select(_queues, 500);

                Assert.AreEqual(idx2, -1, "Did timeout");
            }