Two Phase Locking (2PL)
The two-phase locking protocol having of two phases:
Phase 1: The lock acquisition phase: If a transaction T needs to read an object, it wants to obtain the S (shared) lock. If T needs to modify an object, it wants to obtain X (exclusive) lock. No conflicting locks are granted to a transaction. New locks on items can be obtained but no lock can be released till all the locks needed by the transaction are obtained.
Phase 2: Lock Release Phase: The existing locks can be released in any order but no new lock can be obtained after a lock has been released. The locks are held only till they are needed.
Normally the locks are taken by the DBMS. Any legal schedule of transactions that follows 2 phase locking protocol is sured to be serialisable. The 2 phase locking protocol has been confirmed for it correctness. Though, the proof of this protocol is beyond the scope of this Unit. You can refer to more readings for more details on this protocol.