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