Junior — Middle
¿Cuál es la cantidad mínima de hilos necesarios para que ocurra un bloqueo mutuo (Deadlock)?
sobes.tech AI
Respuesta de la IA
La cantidad mínima de hilos necesarios para que ocurra un interbloqueo (Deadlock) es dos.
Un interbloqueo ocurre cuando dos o más hilos mantienen recursos simultáneamente y cada uno espera liberar un recurso que ha sido tomado por otro hilo. Por ejemplo:
- El hilo A toma el recurso 1 y espera el recurso 2.
- El hilo B toma el recurso 2 y espera el recurso 1.
Ambos hilos quedan bloqueados indefinidamente, ya que cada uno espera liberar un recurso que está siendo retenido por el otro.
Ejemplo en pseudocódigo:
// Hilo 1
lock(recurso1)
wait()
lock(recurso2)
// Hilo 2
lock(recurso2)
wait()
lock(recurso1)
Por lo tanto, para un deadlock, basta con dos hilos y dos recursos.