Skip to content

Latest commit

 

History

History
47 lines (34 loc) · 2.12 KB

README-PTBR.md

File metadata and controls

47 lines (34 loc) · 2.12 KB

Philosophers

🇺🇸 To access the english version of this README click here.

mandatory

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.

Estilo de Código

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.

Índice

1. Descrição

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.

2. Uso

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]

3. Instalação

Certifique-se de ter gcc e make instalados. Se não, instale-os usando seu gerenciador de pacotes.

4. Contribuição

Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou enviar pull requests.