Sobes.tech
Senior

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.