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

209
03 марта 2019, 23:00

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

Answer 1

Класс Monitor работает только в рамках одного процесса. Mutex'у же, можно задать идентификатор, который будет единственным для всей ОС.

Например, это полезно, если у Вас запущено два разных приложения, но между ними должна происходить синхронизация (как пример, запись в файл и чтение).

Так же посмотрите вот этот вопрос.

P.S. по поводу большинства случаев и использования lock - если у Вас есть ожидание задач (await) - то lock использовать не получится.

READ ALSO
Многомерный массив c#

Многомерный массив c#

Есть 2 строки в файле вида

238
wpf привязка (обновление данных)

wpf привязка (обновление данных)

есть класс Project (модель) с некиеми методами:

185
Как достать список из таблицы БД?

Как достать список из таблицы БД?

Я получил список категорий из БДДалее мне нужно получить из соседней таблицы все топики, которые относятся к данной категории

235
символ " в запросе (C#)

символ " в запросе (C#)

Как вставить код символа в запрос С#? В месте, где я указываю на формат даты:

166