Este repositório contém uma coleção de conceitos, problemas, e soluções relacionados à programação concorrente. Ele é organizado em várias seções, cada uma focada em aspectos específicos da concorrência e multitarefa.
A seção de conceitos aborda os fundamentos da programação concorrente, incluindo:
- Multitarefa: Discussão sobre como sistemas operacionais e programas podem executar várias tarefas simultaneamente. Veja o README para mais detalhes.
- Multithreading e Multiprocessamento: Exemplos em Python que demonstram a diferença e os usos de multithreading e multiprocessamento. Veja o README para mais detalhes.
- Problemas de concorrência: Discussão sobre problemas comuns como deadlocks, condições de corrida, e inanição, junto com soluções e estratégias de prevenção. Veja o README e os exemplos correspondentes.
Exemplos de implementações de estruturas de dados thread-safe, como uma lista encadeada segura para threads. Veja o README para mais detalhes.
Implementações de mecanismos de sincronização, como barreiras, buffers, e locks para controlar o acesso a recursos compartilhados. Veja o README para mais detalhes.
Exemplos de problemas resolvidos utilizando conceitos de concorrência, como o problema do "Fork and Sleep".
Cada diretório contém um README.md que explica o conceito ou problema abordado, juntamente com o código de exemplo e instruções de uso. É recomendável ler esses documentos para entender melhor os exemplos e como eles se relacionam com os conceitos discutidos.
Este repositório é licenciado sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.