Atividades práticas da disciplina Programação Concorrente da UFCG.
- Compreender e implementar conceitos de paralelismo, sincronização entre threads, e proteção de regiões críticas.
- Otimizar o desempenho de programas por meio de programação concorrente.
- Desenvolver aplicações distribuídas utilizando linguagens como
GoLang. - Simular cenários reais, como sistemas de e-commerce e processamento de arquivos.
O repositório está organizado por laboratórios, onde cada um aborda um conceitos de programação concorrente:
- Laboratório 1: Introdução ao paralelismo com processamento de arquivos em
PythoneJava. - Laboratório 2: Sincronização de threads e controle de concorrência.
- Laboratório 3: Cálculo de similaridade entre arquivos utilizando programação concorrente.
- Laboratório 4: Implementação concorrente em
GoLangpara processamento eficiente. - Laboratório 5: Construção de um sistema distribuído inspirado em Bittorrent utilizando
GoLang. - Laboratório 6: Sistema distribuído Produtor-Consumidor utilizando
Java. - Laboratório 7: Processamento de pedidos em um sistema de e-commerce concorrente.
Cada laboratório contém scripts (build.sh e run.sh) para facilitar a execução. Consulte os diretórios individuais para detalhes sobre como executar os programas em diferentes linguagens.