public override object Dequeue() { lock (_syncRoot) { return(_queue.Dequeue()); } }
public override object Dequeue() { while (_queue.Count == 0) { _newItemArrived.WaitOne(); } lock (_queue) { return(_queue.Dequeue()); } }
public override object Dequeue() { lock (_queue) { while (_queue.Count == 0) { Monitor.Wait(_queue); } return(_queue.Dequeue()); } //lock (_queue) //{ // while (_count <= 0) Monitor.Wait(_queue); // _count--; // return _queue.Dequeue(); //} }