Escolar Documentos
Profissional Documentos
Cultura Documentos
El problema consiste en encontrar un algoritmo que permita que los filsofos nunca se mueran de hambre.
Varios turnos
Se establecen varios turnos. Para hacerlo ms claro supongamos que cada filsofo que puede comer (es su turno) tiene una ficha que despus pasa a la derecha.
char tenedores=5;
char plato=0; char pedidos=0; //MUTEX inicializados estaticamente pthread_mutex_t mbandeja= PTHREAD_MUTEX_INITIALIZER; pthread_mutex_t mmostrador= PTHREAD_MUTEX_INITIALIZER; // Variables de condicin pthread_cond_t cbandeja; pthread_cond_t cmostrador;
pthread_cond_t ccamarero;
Conclusiones
El problema de la cena de los filsofos modela procesos que compiten para tener acceso exclusivo a un nmero limitado de recursos. La falta de tenedores disponibles es una analoga al bloqueo de recursos compartidos en programacin real de computadores.
Referencias
http://es.wikipedia.org/wiki/Problema_de_la_cena_de_lo s_fil%C3%B3sofos http://en.wikipedia.org/wiki/Dining_philosophers_problem http://wwwdi.ujaen.es/~lina/TemasSO/CONCURRENCIA /4ProblemasClasicosdeComunicacionentreProcesos.htm