🇺🇸 To access the english version of this README click here.
Este projeto simula o clássico dining philosophers problem usando threads e mutexes. O objetivo é evitar deadlocks enquanto garante que cada filósofo possa comer sem conflitos.
O estilo de código usado neste projeto é o Norminette , criado pela escola 42 e utilizado em todos os projetos relacionados em ANSI C no contexto da escola.
O problema dos filósofos jantando envolve um grupo de filósofos sentados ao redor de uma mesa circular. Cada filósofo pensa e come. Para comer, um filósofo deve pegar os dois garfos (um à sua esquerda e outro à sua direita). No entanto, se todos os filósofos tentarem pegar seus garfos simultaneamente, eles podem entrar em deadlock.
Este projeto fornece uma solução para o problema usando threads e mutexes. Ele garante que os filósofos possam comer sem causar deadlocks.
Clone o repositório:
git clone https://github.com/LeonardoSabar/Philosophers_42SP.git
Compile o programa:
cd philosophers
make
Execute a simulação:
./philo [número_de_filósofos] [tempo_para_morrer] [tempo_para_comer] [tempo_para_dormir] [número_de_vezes_que_cada_filósofo_deve_comer]
Certifique-se de ter gcc e make instalados. Se não, instale-os usando seu gerenciador de pacotes.
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou enviar pull requests.