public void DeQueueData(int length) { bufferMutex.WaitOne(); if (length >= dataBuffer.Count) dataBuffer.Clear(); else for (int index = 0; index < length; ++index) dataBuffer.Dequeue(); bufferMutex.ReleaseMutex(); }