Technical definition for Concurrency is the ability of a database management system to allow multiple users to access data at the same time while maintaining the integrity and consistency of the data. In other words, Concurrency control deals with the issues involved with allowing multiple users simultaneous access to shared entities, objects, data records, or some other representation.
To understand and implement the concurrency control you need to understand the transactions, detecting and understanding cause of concurrency such as deadlocks, lock timeouts etc. This helps you to understand and implement the concurrency control in your system as well as avoid retrieving the Dirty reads, Phantom reads.Concurrency control ensures the transactions in the database occur in an orderly manner.The main job of these control is to maintain the data consistency and integrity. Technically concurrency must preserve the four characteristics of database transactions: ACID (Atomicity, Isolation, Consistency and Durability). You may find different ways to control the concurrency but Alex Kuznetsov has written a very good explanatory article on Developing Modifications that Survive Concurrency.
I hope you like it. Enjoy reading 🙂 !