Jump to content

Ayuda Urgente!


Recommended Posts

cual es el problema ??

Cinco filósofos se sientan alrededor de una mesa y pasan su vida cenando y pensando. Cada filósofo tiene un plato de fideos y un tenedor a la izquierda de su plato. Para comer los fideos son necesarios dos tenedores y cada filósofo sólo puede tomar los que están a su izquierda y derecha. Si cualquier filósofo coge un tenedor y el otro está ocupado, se quedará esperando, con el tenedor en la mano, hasta que pueda coger el otro tenedor, para luego empezar a comer.

 

Si dos filósofos adyacentes intentan tomar el mismo tenedor a una vez, se produce una condición de carrera: ambos compiten por tomar el mismo tenedor, y uno de ellos se queda sin comer.

 

Si todos los filósofos cogen el tenedor que está a su derecha al mismo tiempo, entonces todos se quedarán esperando eternamente, porque alguien debe liberar el tenedor que les falta. Nadie lo hará porque todos se encuentran en la misma situación (esperando que alguno deje sus tenedores). Entonces los filósofos se morirán de hambre. Este bloqueo mutuo se denomina interbloqueo o deadlock.

 

El problema consiste en encontrar un algoritmo que permita que los filósofos nunca se mueran de hambre.

Link to comment
Share on other sites

ocupas las flag

 

si un filoso ocupa un tenedor levantas la bandera a un true entonces cuando el otro filosofo quiera entra no podra porque en ese momento esta siendo ocupado por otro y buscara otro, y cuando lo desocupe pones la bandera false

Link to comment
Share on other sites

o ocupar colas de tenedores, que es una de las soluciones de wikipedia que me gustó.

 

Y el tema de los filósofos sería una lista circular?? también podría ser un array, total el número de filósofos es fijo.

 

si no te dijeron como implementarla puedes hacerlo como se te ocurra :D

llevas algo avanzado?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...