Допустим, у меня есть две общие переменные — a
и b
— которые связаны друг с другом. Когда несколько приложений совместно используют эти общие переменные, доступ к ним должен быть атомарной операцией, иначе связь может разорваться. Так что для обеспечения взаимного исключения, я положу их модификацию в критическую секцию, защищенную блокировкой.
critical_code
{
P(mutex)
a := something
b := something
V(mutex)
}
Допустим, мое оборудование/ОС/компилятор поддерживает атомарные переменные. Затем я изменил приведенный выше код следующим образом.
code
{
atomic a := something
atomic b := something
}
Может ли этот код обеспечить взаимное исключение при доступе нескольких приложений?
С уважением,
Шринивас Наяк