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

Enter

Monitor.Enter блокирует объект до вызова Exit.

Синтаксис

Monitor.Enter(syncRoot);

Пример

Давайте войдем и выйдем из критического участка:

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

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

"in" "out"

Пример

Давайте сравним с TryEnter на свободном объекте:

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

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

True

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

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