1
Wait (i) { 
     c[i]=false; 
     while (c[1-i]) do; 
} 


Signal (i) { 
    c[i]=true; 
} 

Каждый процесс пытается войти в критический раздел (CS) для бесконечного времени. (i) для ввода CS и Signal (i) для выхода из CS. i в {0,1} - ряд процессов. C - массив с длиной = 2 из двоичной переменной, инициализируемой True.одно программное решение для критического раздела и проблемы

Какой из них неверно:

а) это решение удовлетворяет взаимоисключение.

b) это решение удовлетворяет ограниченному ожиданию.

c) это решение удовлетворяет всем условиям для CS.

d) это решение удовлетворило ход выполнения.

Мой профессор говорит (с) правильно. но я думаю, что (a), (b), (c), (d) правильны для этого вопроса. любой может мне помочь.

+0

Возможно, вы имеете в виду 1-i. –

+0

Я знаю, Уважаемый @ YvesDaoust, но в этом вопросе я подразумеваю (a) - (d) ложь. но мой профессор говорит, что (c) является ответом на эти вопросы. –

+0

Дорогой @ YvesDaoust, (a) и (d) также не удовлетворены. –

ответ

0

(a) неверно: если оба процесса вызывают Wait, они устанавливают флаг другого в false и могут пересекать цикл.

Но тогда (c) также является ложным.

+0

Дорогой Ив, ты здесь? –

+0

Я нахожу что-то новое и жду тебя. –

 Смежные вопросы

  • Нет связанных вопросов^_^