Skip to content

Latest commit

 

History

History
26 lines (18 loc) · 1.46 KB

File metadata and controls

26 lines (18 loc) · 1.46 KB

concurrent-programming

Atividades práticas da disciplina Programação Concorrente da UFCG.

Objetivos

  • 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.

Organização

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 Python e Java.
  • 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 GoLang para 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.

Como Executar

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.