SeoYeonBae / CS_study

:crown: 기술면접을 위한 공쥬들의 CS 짱터디 :pencil2:
0 stars 1 forks source link

Dining Philosophers Problem #47

Open SeoYeonBae opened 1 year ago

jangyejoo commented 1 year ago

식사하는 철학자 설명


KangYoonjoo commented 1 year ago
  1. 왼쪽 젓가락부터 집어든다. 다른 철학자가 이미 쓰고 있다면 그가 내려놓을 때까지 생각하며 대기한다
  2. 왼쪽을 들었으면 오른쪽 젓가락을 든다. 들 수 없다면 1번과 마찬가지로 대처한다.
  3. 두 젓가락을 모두 들었다면 일정 시간동안 식사한다
  4. 식사를 마쳤으면 오른쪽 젓가락 내려놓고, 그 다음 왼쪽 젓가락을 내려놓는다.
  5. 다시 생각하다 배고프면 1번으로 회귀한다.

- 이 문제는 교착상태의 대표적인 예제

SeoYeonBae commented 1 year ago

철학자 5명이 있다. 생각에 빠지다 배가 고플 땐 밥을 먹고 그들 양쪽에 각각 젓가락이 한 짝씩 있다. 밥을 먹을 때의 규칙은 다음과 같다.

이는 교착상태의 4가지 필요조건을 모두 만족하는 대표적인 예제이다. 왜냐하면 모든 철학자가 배고파서 왼쪽 젓가락을 집어든다면 아무도 영원히 오른쪽 젓가락을 집을 수 없고 철학자들은 결국 기아현상으로 굶어죽기 때문이다.