/// <summary> /// 取出第一个产品 /// </summary> /// <returns></returns> private TProduct DequeueHead() { lock (_productQueue.SyncRoot) { TProduct result = default(TProduct); if (_productQueue.Count > 0) { result = _productQueue[0]; _productQueue.RemoveAt(0); } return(result); } }