Sobes.tech
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.