Страницы

Поиск по вопросам

вторник, 24 декабря 2019 г.

Подскажите разницу между классами Monitor и Mutex

#c_sharp #net #многопоточность


Теоретический вопрос. Если нам нужно синхронизировать потоки, то  в большинстве случаев
наверное достаточно lock, это почти то же самое, что класс Monitor, а какая разница
с классом Mutex, неужели только в том, что Монитор это вещь статическая,а для Мутекса
нужно создавать экземпляр класса.
    


Ответы

Ответ 1



Класс Monitor работает только в рамках одного процесса. Mutex'у же, можно задать идентификатор, который будет единственным для всей ОС. Например, это полезно, если у Вас запущено два разных приложения, но между ними должна происходить синхронизация (как пример, запись в файл и чтение). Так же посмотрите вот этот вопрос. P.S. по поводу большинства случаев и использования lock - если у Вас есть ожидание задач (await) - то lock использовать не получится.

Комментариев нет:

Отправить комментарий