Deadlock

Definizione rapida

Un deadlock è uno stallo nel quale più processi restano in attesa della stessa risorsa condivisa.

Spiegazione

La situazione viene paragonata al paradosso dell'uovo e della gallina. In ambito informatico nasce quando due o più attività attendono di poter usare un elemento protetto da lock e soggetto a mutua esclusione. Poiché nessuna ottiene ciò che serve per proseguire, l'elaborazione rimane bloccata.

Esempio pratico

Due processi che aspettano entrambi l'accesso a una risorsa bloccata possono rimanere fermi senza riuscire a proseguire.

Spiegazione tecnica

Il lock impedisce l'uso simultaneo, mentre l'attesa reciproca crea la condizione di stallo.

Da non confondere con

Non è una normale coda che avanza quando la risorsa si libera: nel deadlock i processi restano intrappolati nell'attesa.