Hi Donald,
There is one feature in Dynamics CRM Plugin called Optimistic Concurrency Control.
Which is useful in the case, When more than one user selects the same record and tries to save the record with different updates at the same time (either through CRM Platform or Plugin code), To avoid this, you can enable optimistic concurrency when saving/updating/deleting the records.
How does it control the Concurrency?
Answer - using RowVersion
Each database has a counter that is incremented for each insert or update operation that is performed on a table that contains a rowversion column within the database. This counter is the database rowversion. This tracks a relative time within a database, not an actual time that can be associated with a clock. A table can have only one-rowversion column. Every time that a row with a rowversion column is modified or inserted, the incremented database row version value is inserted in the rowversion column.
Understand through Image:

Reference: https://community.dynamics.com/crm/b/tipsandtricksofcrm/archive/2015/08/09/optimistic-concurrency-in-dynamics-crm
How can I use that in Plugin?
Let say I want to update an account of Guid 345EFFB3-10WS-E511-80E2-C4346BAD87C8
Entity accountRecord = _service.Retrieve("account", new Guid("345EFFB3-10WS-E511-80E2-C4346BAD87C8"), new ColumnSet(true));
//Code to Update the Record
//Initialize new Object to update
Entity updateRecord = new Entity();
updateRecord.Id = accountRecord.Id;
updateRecord.LogicalName = accountRecord.LogicalName;
//Set the RowVersion Property of the Updating record
updateRecord.RowVersion = accountRecord.RowVersion;
//Update Name
updateRecord["name"] = "Account Changed";
UpdateRequest updateReq = new UpdateRequest();
updateReq.Target = updateRecord;
//Set the Concurrency Behaviour before executing the Update request & match the Row Versions of the record before executing the Request
updateReq.ConcurrencyBehavior = ConcurrencyBehavior.IfRowVersionMatches;
// Do the update.
UpdateResponse updateResponse = (UpdateResponse)_service.Execute(updateReq);
Now, suppose before UpdateRequest is executed the name of the record is changed in CRM at the same time by a different user.
Then _service.Execute() will give an Exception: ‘The version of the existing record doesn't match the RowVersion property provided.’ and it would not be executed successfully.
If you want to forcibly perform the Update operation through code then simply change this line as mentioned below:
//Set the Concurrency Behaviour before executing the Update request to Ignore the check and update the record successfully
updateReq.ConcurrencyBehavior = ConcurrencyBehavior.AlwaysOverwrite;
You can take reference of following articles to incorporate in your plugin code.
Hope it helps.