Skip to content

n0c3Nz/Philosophers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 

Repository files navigation

Philosophers

Este es un programa en C que resuelve el clásico problema de los filósofos, una ilustración común de un problema de concurrencia en sistemas operativos y programación paralela. En este problema, un número fijo de filósofos se sientan alrededor de una mesa con un plato de espaguetis. Entre cada par de filósofos hay un tenedor, y para comer, un filósofo necesita tomar ambos tenedores a su izquierda y derecha.

Sin embargo, los filósofos solo pueden realizar tres acciones: comer, dormir o pensar. No pueden hablar entre sí y solo pueden tomar los tenedores que están directamente a su izquierda y derecha. Esto da lugar a una situación en la que los filósofos pueden quedar atrapados si cada uno toma el tenedor a su izquierda al mismo tiempo, ya que todos estarán esperando el tenedor de la derecha.

El programa en C utiliza mutex para evitar el acceso mutuo a recursos y garantizar que los filósofos puedan comer de manera segura sin resultados inesperados.

Compilación

make

.PHONY: clean fclean all re

Modo de empleo

Arg[1] = Número de filósofos * ( 0 - 200 )

Arg[2] = Tiempo para morir *

Arg[3] = Tiempo para comer *

Arg[4] = Tiempo para dormir *

Arg[5] = Número de comidas ( Opcional )

./philo 5 800 200 200
./philo 5 800 200 200 5

About

42 Project.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published