Skip to content
EntityQ2290484· pop 9· linked from 70 articles

two-phase locking

Sign in to save

Also known as 2PL

concurrency control locking protocol in databases and transaction processing

Article · Italiano

Il two-phase locking (2PL), locking a due fasi in italiano, è un protocollo per il controllo della concorrenza utilizzato nel campo dei database e dell'elaborazione delle transazioni per garantire la di una schedule di transazioni. Questo protocollo è basato sui lock, applicabili da una transazione ad un dato (a diversi livelli di granularità: attributo, tupla, relazione, database), i quali bloccano l'accesso da parte di altre transazioni ai dati fino alla terminazione della transazione che li detiene. Questo protocollo assume che ogni transazione in esecuzione preveda due fasi principali: * fase ascendente: tutti i lock sulle risorse necessarie all'esecuzione dell'intera transazione vengono richiesti, non è possibile rilasciare alcun lock in questa fase; * fase discendente: vengono rilasciati i lock senza possibilità di acquisirne dei nuovi fino alla fine della transazione. I tipi di lock utilizzati da protocollo base sono due: esclusivo (binario) e condiviso (multiplo). Protocolli successivi a quello base possono utilizzare più tipi di lock. L'uso di alcune varianti di 2PL porta con sé il problema del deadlock risultante dall'attesa circolare che si può verificare fra le transazioni e i dati bloccati con i lock.

Abstract from DBpedia / Wikipedia · CC BY-SA

Available in 9 languages

via Wikidata sitelinks · CC0