Le problème à manger philosophes est une expérience de pensée ou de l'exemple utilisé dans le domaine de l'informatique. Le problème utilise une analogie pour illustrer les problèmes de synchronisation qui peuvent survenir lorsque les ordinateurs partagent les ressources. Les informaticiens utilisent les philosophes des problèmes pour enseigner aux élèves les algorithmes utilisés pour résoudre ces problèmes.
Le scénario de manger philosophes, le problème est d'une table ronde au cours de laquelle cinq philosophes sont assis. Dans le centre de la table est un bol de nouilles ou d'autres aliments. Chaque philosophe a une fourchette ou baguettes de chaque côté, ce qui signifie qu'il ya cinq fourchettes ou baguettes au total. Pour manger, un philosophe a besoin de deux ustensiles. Chaque philosophe doit également passer un peu de temps à réfléchir, et ne peut pas penser et manger en même temps. Le cœur de manger philosophe, le problème est la difficulté d'empêcher impasse.
Impasse dans ce problème se produit lorsque les philosophes se mettre dans une position où ils ne peuvent ni penser ni manger. Par exemple, si chaque philosophe était de ramasser l'ustensile à sa gauche, personne ne serait capable de manger, parce que tous les ustensiles seraient en cours d'utilisation, mais aucun philosophe n’aurait deux. Afin de permettre à tous les philosophes de manger, l'étudiant doit créer un algorithme qui veille à ce que certains philosophes mangent tandis que d'autres pensent. Cela permet à la fois de manger et de penser à poursuivre sans caler
.
Il y a un certain nombre de solutions possibles au problème des philosophes. Une solution consiste à créer un sixième caractère, le garçon, qui donne ou refuse l'autorisation pour les philosophes de ramasser leurs fourches. D'autres impliquent la régulation de l'ordre dans lequel les philosophes ramasser et déposer les fourches pour optimiser la disponibilité. D'autres impliquent dire aux philosophes pour vérifier si leurs voisins mangent avant d'essayer de manger. En substance, chaque solution consiste à élaborer un ensemble de règles, appelé un algorithme, qui régit quand les philosophes pensent, manger, ou ramasser et déposer les ustensiles de cuisine.
Le problème a d'abord été connu par les philosophes exprimées par l'informaticien néerlandais Edsger Dijkstra en 1965 comme une question d'examen pour les étudiants. Depuis lors, le problème a fait l'objet d'un certain nombre de changements. Il apparaît dans un certain nombre de formats légèrement différents, dont certains seulement modifier les détails de l'histoire, mais d'autres qui proposent des limitations supplémentaires sur le problème de démontrer des concepts difficiles. La version la plus commune moderne a été créé par Tony Hoare.