열렬히.뛰기

식사하는 철학자란?

école 42 > philosopher > philosopher : 진행 상황 > 식사하는 철학자란?

식사하는 철학자 문제??

  • 컴퓨터 과학에서 자주 다루어지는 문제 중 하나.
  • 분산 시스템에서 발생하는 동기화 문제의 대표적인 예시.

가정

다섯 명의 철학자와 다섯 개의 젓가락이 있다고 가정한다.

각 철학자는 자신의 왼쪽과 오른쪽에 젓가락이 하나씩 놓여 있음.

하지만 오직 한 명의 철학자만 젓가락을 사용할 수 있다.

이 경우, 철학자들이 젓가락을 대기하는 상태에 빠지게 되어 무한정 기다려야 함.

해결법

  1. 철학자들이 젓가락을 공유하도록 만든다.
  2. 젓가락을 양쪽 모두 사용할 수 있도록 만든다.

철학자들끼리 소통할 수 있는 방법을 찾고, 이를 구현해야 함.

또한, 여러 방법들 중에서 가장 효율적인 방법을 선택해야 함.