Критические области

Критическая область - часть программы, в которой есть обращение к совместно используемым данным.

Условия избегания состязания и эффективной работы процессов:

  1. Два процесса не должны одновременно находиться в критических областях.
  2. Процесс, находящийся вне критической области, не может блокировать другие процессы.
  3. Невозможна ситуация, когда процесс вечно ждет попадания в критическую область (зависает).

Пример:

 

 

Взаимное исключение с использованием критических областей