public void WaitEnqueued() { int TasksCount; lock (Tasks) TasksCount = Tasks.Count; if (TasksCount == 0) { EnqueuedEvent.WaitOne(); } }