문제

최근에 나는 읽었다 이 위키피디아 기사 Dining Philosophers 문제와 관련하여 Chandy/Misra 솔루션이 명확하지 않습니다.

그 기사에 따르면, "포크를 가진 철학자는 요청 메시지를 받았을 때, 포크가 깨끗하면 포크를 유지하고, 더러우면 포기한다"고 한다. 이 질문의 맥락에서, 그는 그가 먹고 있다면 그것을 전달하고 그가 아직 먹기 시작하지 않았다면 그것을 유지합니다.

시나리오에 따르면 Dirty의 의미는 무엇입니까?스레드가 실행 중이거나 종료되었습니까?

도움이 되었습니까?

해결책

더티(Dirty)는 처리가 시작되어 중단될 수 있음을 의미합니다.

그리고 포크가 두 개 있어야만 처리할 수 있습니다.

다른 팁

Dirty는 '유휴'또는 '이용 가능'을 의미하는 것처럼 보이며 깨끗한 수단은 '요청'또는 '선점'을 의미했습니다.

포크는 그가 그것을 집어 들면 (포크가 원했을 때 경쟁하지 않았다), 그리고 그가 그것을 요청해야한다면 '깨끗한'것이며 초기 상태가 더럽다고 말한다.

  • 사용 가능한 Fork => 포크를 집어 들면 더럽습니다 => 청소하고 요청할 때 포기하십시오.

  • 사용 가능한 포크 => 요청을 요청해야합니다 =>는 청소를받습니다.

그것은 내가 불리는 조직 패턴을 생각 나게한다 인터럽트를 방해하지 마십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top