Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
1223 of 1492 menu
◀ ▶

CountdownEvent

CountdownEvent(2): CurrentCount сначала 2. Два Signal делают IsSet и Wait(0) возвращает true. Лишний Signal бросает InvalidOperationException.

Синтаксис

var cd = new CountdownEvent(2);

Пример

Давайте два раза вызовем Signal:

using System; using System.Threading; class Program { static void Main() { var cd = new CountdownEvent(2); Console.WriteLine(cd.CurrentCount); cd.Signal(); Console.WriteLine(cd.CurrentCount); cd.Signal(); Console.WriteLine(cd.IsSet); Console.WriteLine(cd.Wait(0)); } }

Результат выполнения кода:

2 1 True True

Пример

Давайте вызовем лишний Signal:

using System; using System.Threading; class Program { static void Main() { var cd = new CountdownEvent(1); cd.Signal(); try { cd.Signal(); Console.WriteLine("ok"); } catch (InvalidOperationException) { Console.WriteLine("fail"); } } }

Результат выполнения кода:

"fail"

Смотрите также

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить