Пример 1. Схема организации взаимного исключения процессов с помощью семафоров: begin semaphore S; --описание общих (глобальных) переменных процессов process1

Схема организации взаимного исключения процессов с помощью семафоров:

begin semaphore S; --описание общих (глобальных) переменных процессов process1, process2 INIT(S); parbegin process1: begin --описание локальных переменных процесса process1... P(S); <критическая секция> V(S);... end; process2: begin --описание локальных переменных процесса process1... P(S); <критическая секция> V(S);... end; parend;end;

Положим, что процесс 1 первым критической секции. На входе в критическую секцию процесс выполнил операцию (закрыл семафор ). Если до окончания выполнения критической секции первым процессом, второй процесс достиг критической секции, то при попытке выполнить операцию этот процесс переходит в режим ожидания. В режиме ожидания второй процесс находится до тех пор, пока процесс 1 не выполнит операцию (откроет семафор ). После этого второй процесс выполняет операцию (закрывает семафор ), исполняет критическую секцию и открывает семафор


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: