Встречается на собеседованиях • сегодня
В чем разница между Mutex и Monitor
Mutex и Monitor оба используются для синхронизации потоков, но имеют ключевые различия:
-
Область действия
Monitor работает только в пределах одного процесса, а Mutex может использоваться для межпроцессной синхронизации. -
Производительность
Monitor (lock в C#) легче и быстрее, так как работает внутри процесса. Mutex медленнее из-за работы с ядром ОС.
- Использование
Monitor используется черезlockилиMonitor.Enter/Exit:
csharp
object lockObj = new object();
lock(lockObj)
{
// критическая секция
}Mutex требует явного создания и освобождения:
csharp
using Mutex mutex = new Mutex(false, "Global\\MyMutex");
mutex.WaitOne();
try {
// критическая секция
}
finally {
mutex.ReleaseMutex();
}-
Именование
Mutex можно именовать для межпроцессного использования, Monitor - нет. -
Рекурсивность
Оба поддерживают рекурсивные блокировки (один поток может захватывать один и тот же lock несколько раз).

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы