Junior — Middle
O que se entende por estado de deadlock na programação multithread?
sobes.tech IA
Resposta da IA
O estado de deadlock na programação multithread ocorre quando dois ou mais threads bloqueiam-se mutuamente, esperando liberar recursos que estão ocupados pelo outro.
Exemplo:
- O thread A adquire o recurso 1 e tenta obter o recurso 2.
- O thread B adquire o recurso 2 e tenta obter o recurso 1.
Ambos os threads esperam um pelo outro e não podem continuar, o que leva ao congelamento do programa.
Para evitar deadlocks, usam-se:
- Uma ordem clara na aquisição de recursos.
- Timeouts ao esperar por bloqueios.
- Uso de primitivas de sincronização de nível superior.