나는 상호 제외에 대한 몇 가지 예를 읽고, 나는 나에게 건네 다음의 예를 제외하고 대부분의 실행을 이해할 수 :Unclearance은 상호 배제 예를
boolean[] flag = new boolean[2];
하나 while- 조건은 다른 프로세스의 플래그 [n] 상태에 따라 다릅니다. 예를 들어 P1
이라는 제목을 사용하려면 flag[0]
과 을 모두 true
으로 설정해야합니다.
내 interpertation에 따르면 전체 실행은 다음과 같이해야합니다 :
P1 - > flag[1] = true
while(flag[0]) // flag[0] is still state-undeclared
P2 -> flag[0] = true // so P0 must set it true(?)
critic1();
while(flag[1])
critic2();
을 flag[0]
true로 flag[1]
세트를 모두 프로세스가 while(flag[n])
조건과 race-을 통과하기 때문에이 정확하지 않을 수 있지만 상태가 여전히 발생할 수 있습니다. 내가 오해하니?
언제든지 문의하십시오. –