Блокировка, взаимное исключение, семафор …, каково различие?

Я услышал эти слова, связанные с параллельным программированием, но каково различие между ними?

395
задан victor 24 February 2010 в 23:03
поделиться

1 ответ

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

Мьютекс аналогичен блокировке, но может быть общесистемным (совместно используемым несколькими процессами).

Семафор делает то же самое, что и мьютекс, но позволяет ввести x количество потоков, это можно использовать, например, для ограничения количества одновременно выполняемых задач с интенсивным использованием ЦП, io или RAM.

Подробнее о различиях между мьютексом и семафором читайте здесь .

У вас также есть блокировки чтения / записи, которые позволяют либо неограниченное количество читателей, либо 1 писатель в любой момент времени.

486
ответ дан 22 November 2019 в 23:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: