Projeto 10: Aula 10 - Sincronização e Concorrência
🚀 Laboratório Prático: Aula 10 - Sincronização e Concorrência
Construa uma simulação lógica ou um roteiro analítico em linguagem C/C++ focado no fenômeno real ocorrido no Hardware baseando-se em:
Imaginemos uma variável primitiva
int balance = 100;. Em Assembly C/C++, aumentar uma quantia embalance += 10;não é "Um Único Movimento"....A solução em qualquer projeto multi-thread backend/C++ é envolver as memórias ou o fluxo com objetos pesados atômicos do Kernel: As Locks (Travas) como padrão Ouro C++:
std::mutex(Mutual Exclus...Mas e se o programador de Backend C/C++ prender (usou lock() ou Mutex) em A esperando que B seja terminado.. mas B só termina porque B precisa pegar lock() em A que tá bloqueado?...
Tarefas do Projeto
- Setup Inicial: Alocar perfeitamente os arquivos como
main.cppem sua IDE configurando compilador GCC/Clang. - Módulo 1: Implementar, prototipar ou demonstrar funcionalmente 1. O Data Race: Uma Colisão Inevitável no código.
- Módulo 2: Implementar, prototipar ou demonstrar funcionalmente 2. Mutex e The Critical Section no código.
- Módulo 3: Implementar, prototipar ou demonstrar funcionalmente 3. O Dilema: Deadlock no código.
- Validação E Benchmark: Fazer o build via terminal e testar limites de velocidade analiticamente comparando o log de transição.
🏆 Critérios de Qualidade (Review)
- Compila estritamente sem nenhum warning de memory loss ou fallback.
- Adere e representa fielmente 100% à teoria aprendida do Markdown da Aula correspondente.
- Estruturação modular limpa para fácil manutenção.