Concurrency related problems can be controlled by using locking. A lock is basically a variable that is associated with a data item in the database. A lock can be placed by a transaction on a shared resources that it desires to use. When this is done, the data item is available for the exclusive use for that transaction, i.e., other transactions are locked out of that data item. The transaction should unlock the data item after its use, for the use of other transactions.
The component of DBMS that controls and stores lock information is called the Lock Manager.
The locking mechanism helps us to convert a schedule into a serialisable schedule.