Я нашел следующий код в книге об операционных системах.Это метод, называемый «строгое изменение», который должен предотвращать состояние гонки между процессами, используя блокировку, когда процесс входит в критическую область.Я понимаю условия гонки, но не совсем понимаю этот код.
// process 0
while(TRUE) {
while(turn != 0) /* loop */
critical_region();
turn = 1;
noncritical_region();
}
Существует также этот код, который прямо рядом с ним.опечатка в этом коде для второго цикла while.Если нет, то может кто-нибудь объяснить, как работает этот код?Объяснение в книге не имело смысла для меня.Это имеет смысл только на очень общем абстрактном уровне.Однако когда я смотрю на этот код, я просто не понимаю.