/// <summary> /// Initializes a new instance of the <see cref="AsyncCountdownEvent"/> class. /// </summary> /// <param name="initialCount">The number of signals required to unblock awaiters.</param> public AsyncCountdownEvent(int initialCount) { Requires.Range(initialCount >= 0, "initialCount"); this.manualEvent = new AsyncManualResetEvent(initialCount == 0); this.remainingCount = initialCount; }