Middle+
Cos'è un Deadlock e un Livelock? Qual è la differenza?
sobes.tech AI
Risposta dell'AI
Deadlock (stallo reciproco) — situazione in cui due o più processi bloccano permanentemente l'uno l'altro, ognuno in attesa che venga liberata una risorsa occupata dall'altro processo. Ad esempio, il processo A detiene la risorsa 1 e aspetta la risorsa 2, mentre il processo B detiene la risorsa 2 e aspetta la risorsa 1.
Livelock (blocco vivo) — situazione in cui i processi non si bloccano, ma cambiano continuamente il loro stato in risposta l'uno all'altro, senza progredire. Ad esempio, due processi cedono continuamente risorse l'uno all'altro, ma nessuno può continuare.
Differenza:
- Deadlock — i processi aspettano l'uno l'altro e non cambiano stato.
- Livelock — i processi sono attivi e cambiano stato, ma non c'è progresso.