public void ExecutePendingQueries() { IQuery query; while (GetSafeQueueCount() > 0) { query = null; lock (queue) { if (queue.Count > 0) { query = queue.Dequeue(); } } if (query != null) { if (db.ExecuteQuery(query)) { // query прошло, дать потребителю знать OutputMessage("Выполненный запрос #0x" + query.GetHashCode().ToString("X")); } else { // если запрос не выполнился, покажи сообщение из СУБД OutputMessage(db.GetLastResponse()); } } } }