O que é deadlock e condição de corrida?
sobes.tech IA
Resposta da IA
Deadlock (interbloqueio) — situação num sistema multithread ou distribuído em que dois ou mais processos bloqueiam-se mutuamente para sempre, esperando libertar recursos ocupados pelo outro. Como resultado, nenhum pode continuar.
Exemplo: o thread A mantém o recurso 1 e espera o recurso 2, que está ocupado pelo thread B, e o thread B espera o recurso 1.
Race condition (condição de corrida) — situação em que o resultado de um programa depende da ordem imprevisível de execução de operações em threads ou processos paralelos. Isso pode causar erros se o acesso a dados compartilhados não estiver sincronizado.
Exemplo: dois threads leem e modificam uma variável ao mesmo tempo sem bloqueios, e o valor final pode estar incorreto.
Ambos os fenómenos estão relacionados com o paralelismo e requerem sincronização e design adequados para preveni-los.