Problema de los filósofos cenando

Keywords: Problema de los filósofos cenando, Algoritmo, Condición de carrera, Filósofo, Problema del barbero durmiente

thumb|200px|Ilustración del problema de los filósofos cenando Problema clásico de sincronización de procesos en donde cinco filósofos se sientan alrededor de una mesa y pasan su vida cenando y pensando. Cada filosofo tiene un plato de fideos y un tenedor a la izquierda de su plato. Pero para comer los fideos son necesarios dos tenedores y cada filósofo puede tomar el tenedor que esté a su izquierda o derecha, uno por vez (o sea, no puede tomar los dos al mismo tiempo, pero puede tomar uno y después el otro).

Si dos filosofos adyacentes intentan tomar el mismo tenedor a una vez, se produce lo que es conocido como condición de carrera, en el que cada proceso (filósofo) compite por tomar el mismo tenedor, quedando obviamente uno de ellos sin comer.

El problema consiste en encontrar un algoritmo en donde cada filósofo pueda comer y pensar, sin que nadie se muera de hambre.

Véase también

Keywords: Problema de los filósofos cenando, Algoritmo, Condición de carrera, Filósofo, Problema del barbero durmiente