В сущности, оптимистические схемы блокировки основаны на идее, что при нормальной работе запись в одни и те же данные не будет параллельной.Таким образом, у них есть своего рода механизм управления версиями, так что потенциальное столкновение может быть обнаружено, и они выдают ошибку.В приложениях Crud, которые обычно «кто-то другой изменил эти данные, пожалуйста, попробуйте еще раз», и, надеюсь, вернут текущие данные, чтобы это можно было сделать.
Пессимистичные схемы блокировки предполагают, что при нормальной работе основная часть записей будет параллельной, поэтому блокировка взята, и одновременное обновление не может быть выполнено, пока текущая запись не будет завершена.В приложении CRUD, которое выглядело бы как «Пользователь Фред заблокировал счет клиента, повторите попытку позже.
Какой бы механизм блокировки вы ни выбрали для реализации, он все равно должен быть потокобезопасным, либо одновременная запись не можетпроизойдет или одновременная запись, которая может привести к коллизии данных, должна завершиться неудачей.