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

Exit

Monitor.Exit вызывают только после успешного Enter в том же потоке.

Синтаксис

Monitor.Exit(syncRoot);

Пример

Давайте освободим объект после Enter:

using System; using System.Threading; class Program { static void Main() { var gate = new object(); Monitor.Enter(gate); Monitor.Exit(gate); bool res = Monitor.TryEnter(gate, 0); Console.WriteLine(res); Monitor.Exit(gate); } }

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

True

Пример

Давайте закроем пару Enter и Exit:

using System; using System.Threading; class Program { static void Main() { var gate = new object(); Monitor.Enter(gate); Monitor.Exit(gate); Console.WriteLine("done"); } }

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

"done"

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

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