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