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

Mutex

Без имени new Mutex(false) держит блокировку в пределах процесса. Именованный Mutex здесь не используем.

Синтаксис

using var mtx = new Mutex(false);

Пример

Давайте захватим мьютекс с WaitOne(0):

using System; using System.Threading; class Program { static void Main() { using var mtx = new Mutex(false); bool res = mtx.WaitOne(0); Console.WriteLine(res); mtx.ReleaseMutex(); } }

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

True

Пример

Давайте захватим мьютекс дважды в одном потоке:

using System; using System.Threading; class Program { static void Main() { using var mtx = new Mutex(false); Console.WriteLine(mtx.WaitOne(0)); Console.WriteLine(mtx.WaitOne(0)); mtx.ReleaseMutex(); mtx.ReleaseMutex(); } }

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

True True

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

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