Skip to main content

식당 철학자 문제는 무엇입니까?

∎ 식사 철학자 문제는 컴퓨터 과학 분야에서 사용되는 사고 실험 또는 예입니다.이 문제는 유추를 사용하여 컴퓨터가 리소스를 공유 할 때 발생할 수있는 동기화 문제를 설명합니다.컴퓨터 과학자들은 식당 철학자 문제를 사용하여 학생들에게 이러한 문제를 해결하는 데 사용되는 알고리즘에 대해 가르치고 있습니다.테이블의 중앙에는 국수 그릇이나 다른 음식이 있습니다.각 철학자는 양쪽에 하나의 포크 또는 젓가락이있어 총 5 개의 포크 또는 젓가락이 있음을 의미합니다.먹기 위해 철학자는 두 가지기구가 필요합니다.각 철학자는 또한 생각을 생각해야하며 동시에 생각하고 먹을 수 없습니다.식당 철학자 문제의 핵심은 교착 상태를 예방하기가 어렵다는 것입니다.

이 문제의 교착 상태는 철학자들이 생각하거나 먹을 수없는 위치에 빠질 때 발생합니다.예를 들어, 각 철학자가 왼쪽에기구를 집어 들면 모든기구가 사용 중이지만 철학자에게는 두 가지가 없기 때문에 아무도 먹을 수 없을 것입니다.모든 철학자들이 식사를 할 수 있도록 학생은 일부 철학자들이 생각하는 동안 일부 철학자들이 생각하고있는 알고리즘을 만들어야합니다.이를 통해 식사와 사고는 멈추지 않고 계속할 수 있습니다.하나의 해결책은 철학자들이 포크를 집어들을 수있는 허가를 주거나 거부하는 여섯 번째 캐릭터 인 웨이터를 만드는 것입니다.다른 사람들은 철학자들이 가용성을 극대화하기 위해 포크를 집어 들고 내려 놓는 순서를 규제하는 것을 포함합니다.다른 사람들은 철학자들에게 이웃이 먹기 전에 식사를하고 있는지 확인하라고 말하는 것과 관련이 있습니다.본질적으로, 각 솔루션은 알고리즘이라고하는 일련의 규칙을 개발하는 것이 포함되며, 철학자들은기구를 생각하거나 먹거나 픽업하고 내려 놓을 때 통제합니다.∎ 식사 철학자 문제는 1965 년 네덜란드 컴퓨터 과학자 Edsger Dijkstra가 학생들을위한 시험 질문으로 처음으로 표현했습니다.그 이후 로이 문제는 여러 가지 변화를 겪었습니다.그것은 약간 다른 형식으로 나타나며, 그 중 일부는 스토리의 세부 사항 만 변경하지만 어려운 개념을 보여주기 위해 문제에 대한 추가 제한을 제안하는 다른 형식 만 변경합니다.가장 일반적인 현대 버전은 Tony Hoare에 의해 만들어졌습니다.