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

Monitor

Monitor - низкоуровневый API для lock. Enter и Exit - пара; Wait и Pulse - ожидание и сигнал.

Синтаксис

Monitor.Enter(gate); Monitor.Exit(gate);

Пример

Давайте захватим объект вручную:

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

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

"held"

Пример

Давайте покажем, что lock эквивалентен Enter и Exit:

using System; using System.Threading; class Program { static void Main() { var gate = new object(); lock (gate) { Console.WriteLine("ok"); } } }

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

"ok"

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

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