Please enable JavaScript.
Coggle requires JavaScript to display documents.
Programação Concorrente, Diego Bondan, Mapa Mental, Paradigmas de…
Programação Concorrente
Conceitos Básicos
Concorrência: várias tarefas acontecendo ao mesmo tempo
Paralelismo: tarefas rodando realmente ao mesmo tempo
Assíncrono: uma coisa roda sem travar o resto do programa
Processos e Threads
Processo: um programa rodando com seu próprio espaço
Thread: uma “linha de execução” dentro do processo que compartilha memória
Multithreading: várias threads trabalhando dentro do mesmo programa
Comunicação
Pipe: uma forma de passar dados entre processos
Memória compartilhada: processos usam a mesma memória (precisa cuidar pra não dar conflito)
Passagem de mensagens: troca de dados sem compartilhar memória
Sincronização
Região crítica: parte do código que só uma thread pode usar por vez
Exclusão mútua: formas de travar acesso (mutex, locks…)
Semáforo: controla quantos podem acessar ao mesmo tempo
Problemas Clássicos
Race condition: resultado muda dependendo da ordem que roda
Deadlock: tudo trava porque um fica esperando o outro
Starvation: uma thread fica esperando sem tempo definido
Escalonamento
Escalonador: decide quem roda e quando
Preempção: interrompe uma tarefa pra rodar outra
Thread-safe: código que não dá problema com várias threads
Diego Bondan
Mapa Mental
Paradigmas de Programação