Встречается на собеседованиях • сегодня
Что такое Mutex
Mutex (Mutual Exclusion) — это примитив синхронизации, который обеспечивает эксклюзивный доступ к общему ресурсу для одного потока. Используется для предотвращения race conditions.
Основные особенности:
- Только один поток может владеть мьютесом в любой момент времени.
- Поддерживает межпроцессную синхронизацию (в отличие от lock).
- Реализует IDisposable, поэтому требует освобождения.
Пример использования:
csharp
using System.Threading;
class Program
{
private static Mutex mutex = new Mutex();
static void Main()
{
for (int i = 0; i < 5; i++)
{
new Thread(DoWork).Start();
}
}
static void DoWork()
{
mutex.WaitOne(); // Захватываем мьютекс
try
{
// Критическая секция
Console.WriteLine($"Thread {Thread.CurrentThread.ManagedThreadId} entered");
Thread.Sleep(1000);
}
finally
{
mutex.ReleaseMutex(); // Освобождаем мьютекс
}
}
}
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы