Implementação do Modelo Produtor-Consumidor
- Nayla Sahra Santos das Chagas - 202000024525
- Túlio Sousa de Gois - 202000024599
A nossa solução partiu da implementação da estrutura do Relógio Vetorial, de um buffer compartilhado, das variávies de condição e das funções para produtor e consumidor.
- Relógio Vetorial
O relógio é um vetor de inteiros que tem o tamanho igual ao número de threads produtoras; - Buffer
O buffer é compartilhado entre produtores e consumidores, e possui tamanho fixo para poder guardar os relógios; - Sincronização
A sincronização foi implementada usando um mutex e variáveis de condição para acessar o buffer, evitando as condições de corrida;
Os cenários de teste estão diretamente nas funções de produtor e consumidor, o cenário atual é o de fila cheia. Para trocar o cenário, basta comentar o trecho de código de um, e remover o comentário do outro.