2011-05-15 3 views

답변

1

아니요, 교착 상태가 발생하지 않습니다. 기다리고있는 곳은 while 루프입니다. 그리고 process 변수는 스레드간에 공유되지 않으며 서로 다르지만 turn 변수가 공유됩니다. 따라서 매 순간마다 trueturn == process에 대한 조건을 하나 이상의 스레드에 대해 얻는 것은 불가능합니다. 하지만 어쨌든 당신의 솔루션이 전혀 맞지 않습니다. 피터슨의 알고리즘은 코드 에서처럼 No_Of_Processes이 아닌 두 개의 동시 스레드에만 사용됩니다. N 프로세스에 대한 원래 알고리즘에서 교착 상태가 발생할 수 있습니다. link.

관련 문제