Junior — Middle
Qual é o número mínimo de threads necessários para ocorrer um deadlock?
sobes.tech IA
Resposta da IA
A quantidade mínima de threads necessários para ocorrer um deadlock é dois.
Um deadlock ocorre quando dois ou mais threads mantêm recursos simultaneamente e cada um espera liberar um recurso que foi capturado por outro thread. Por exemplo:
- Thread A captura o recurso 1 e espera pelo recurso 2.
- Thread B captura o recurso 2 e espera pelo recurso 1.
Ambos os threads ficam bloqueados indefinidamente, pois cada um espera liberar um recurso que está sendo mantido pelo outro.
Exemplo em pseudocódigo:
// Thread 1
lock(recurso1)
wait()
lock(recurso2)
// Thread 2
lock(recurso2)
wait()
lock(recurso1)
Assim, para um deadlock, basta dois threads e dois recursos.