Lock
Da Wikipedia, l'enciclopedia libera.
In informatica un lock (inglese per «blocco») è un meccanismo per limitare l'accesso ad una risorsa condivisa in un ambiente multitasking ad un solo thread o ad un solo tipo di thread alla volta.
Concettualmente un lock è un oggetto di cui un thread deve venire in possesso prima di poter procedere all'esecuzione di una sezione protetta di un programma. Ci sono regole prestabilite che dispongono il possesso di un lock. Nel caso più elementare il lock può essere assegnato ad un solo thread; in altri casi il possesso può coinvolgere in modo esclusivo più thread di lettura oppure un solo thread di scrittura (lock read/write). In ogni caso, se un thread non può acquisire immediatamente il lock deve aspettare che questo diventi libero oppure abbandonare la sezione protetta.
Le implementazioni dei mutex nei monitor di sincronizzazione fanno generalmente uso di lock.