#concurrency #process #operating-system
#параллелизм #процесс #операционная система
Вопрос:
обеспечивает взаимное исключение (т.е.. через механизм блокировки) достаточно для обеспечения эффективной реализации параллелизма? Или мы также должны явно реализовать какой-либо метод синхронизации?
В сумме:
Обеспечение параллелизма = эффективная реализация взаимного исключения
или
Обеспечение параллелизма = эффективная реализация взаимного исключения эффективная реализация синхронизации
?
Спасибо.
Комментарии:
1. Существует разница между атомарностью операций (взаимное исключение) и видимостью данных (энергозависимый доступ, ограждения памяти, сравнение и обмен и т. Д.). Большинство языков высокого уровня предоставляют гарантии видимости вокруг своих «базовых» блокировок синхронизации.
Ответ №1:
Параллелизм включает в себя как концепцию «взаимного исключения, так и сикронизации». Параллелизм — это выражение состояния. Взаимное исключение — это выражение состояния в Concurrecy . Взаимное исключение — это метод получения сикронизации в Concurrecy.
Ответ №2:
Все, что вам действительно нужно (хотя другие вещи часто полезны по соображениям производительности), это взаимное исключение и некоторый механизм, гарантирующий, что операции не могут «перемещаться» через барьеры взаимного исключения.