Prévia do material em texto
Processos, Threads e Concorrência Ficha de estudo original • Ciência da Computação / TI Conceitos essenciais • Concorrência permite que várias tarefas progridam no mesmo intervalo de tempo; paralelismo executa tarefas simultaneamente em diferentes núcleos. • Quando threads compartilham estado, surgem condições de corrida. Mutexes, semáforos e outras primitivas sincronizam acesso a recursos críticos. • Deadlock pode ocorrer quando tarefas esperam indefinidamente por recursos umas das outras. Prevenção envolve ordenação de locks, timeouts e redução de seções críticas. • Imutabilidade e filas de mensagens são estratégias que reduzem compartilhamento direto de estado. Exemplo prático: Exemplo: incrementar um contador compartilhado sem sincronização pode perder atualizações quando duas threads leem e escrevem ao mesmo tempo. Revisão rápida 1. Qual a diferença entre concorrência e paralelismo? 2. O que é condição de corrida? 3. Como reduzir risco de deadlock? Material autoral para estudo e revisão. Revise o tema em exercícios práticos para consolidar o conteúdo.