peterson's solution 간단한 예제
글쓴이: kangsuag11 / 작성시간: 화, 2014/04/22 - 12:05오전
perterson's solution에서
do{
flag[i] = TRUE;
turn = j;
while(flag[j]&&turn==j);
critical section
flag[i]=FALSE;
remainder section
} while(TRUE);
일때,
1.상호배제 만족
2. progress만족
3. bounded waiting 만족
세가지를 만족해야할 때.
flag[i]=true이고 turn ==i이면 process i 가 critical section 진입할 수 있다는데,
제가 이해한 부분은 turn을 j로 주어서 j에게 먼저 turn을 주어서 j process가 critical section 수행 한 뒤,
i process가 진입한다라는것인데요,
그럼 while문 라인에서 i가 공회전(진입하지 못하고 계속 조건 확인)하고 j프로세스가 조건을 만족해서 critical section으로 진입하는 건가요
아니면 while이 critical section을 중괄호로 묶고 있는 것이 아니기 때문에
while문의 조건을 만족하는 j가 while문 라인에서 만족하기 때문에 계속 공회전 하는 것인가요?
j와 i 프로세스 중 어떤것이 while문 라인에서 공회전 되고, 어떤 프로세스가 진입 하는 것인가요 ㅜㅜ
Forums:


댓글 달기