Lock
Definizione rapida
Un lock limita l'accesso alle risorse del sistema e può sospendere l'avanzamento di alcuni thread.
Spiegazione
I lock si distinguono anche per il comportamento adottato mentre un thread attende. Alcuni arrestano l'esecuzione finché la risorsa non diventa accessibile, come nel caso richiamato dello spinlock.
Esempio pratico
Se una risorsa è già protetta, il thread che la richiede può restare fermo finché non ottiene l'autorizzazione ad accedervi.
Spiegazione tecnica
Il metodo è efficiente per attese brevi, ma perde efficacia quando il blocco dura a lungo. Un impiego indiscriminato può causare un deadlock.
Da non confondere con
Un lock non coincide con il deadlock: quest'ultimo può essere la conseguenza di un uso scorretto dei meccanismi di blocco.