> 커뮤니티 > Q&A
 
제 목 : 답변입니다
이 름 :
송*진 작성일 : 2015년 10월 11일 14시 08분
     
  p1이 임계구역에서 탈출하고 진입구역에 재진입하고, p0이 두 번째 while문에서 대기하는 경우

1. p1이 turn=0을 수행해야만 p0이 while문을 빠져나올 수 있기 때문에
p1이 flag[1]=false를 수행할 때 p0은 while문을 빠져 나옵니다

2. p1이 재진입하기 위해 flag[1]=true라 하면 p0은 flag[0]=true라 합니다

3. 이후 p0이 먼저 첫번째 while문을 수행해도 flag[1]=true이므로 임계구역에 진입할 수 없지요.

다시 한번 살펴보면 이해하실 겁니다.
 
     
첨부파일