MICROGAMES.RU v.2

Новости, примеры, статьи о программировании

-3
-3
+1
+3
Java Java
up C++
up PHP
up Perl

Определения / Optimistic locking (оптимистическая блокировка)

Предположим что у нас есть база данных, веб приложение, которое считывает данные в память и пользователи, которые эти данные изменяют.

Пользователь - существо загадочное и может очень долго заполнять и исправлять поля веб формы. Ничто ему не помешает в перерыве попить кофе или сходить в ресторан. Естесственно за это время другой расторопный пользователь может исправить теже самые данные и они окажутся уже неактуальными на тот момент, когда первый вернется из кафе и нажмет кнопку submit.

Программист полон оптимизма и справедливо рассчитывает на то что пользователь очень сделает все что от него требуется и закончит работу. Но в жизни не всегда так получается. В результате первый пользователь увидит на экране сообщение об ошибке а программист прочитает в логе Optimistic locking exception.

Таким образом если отойти от лирического вступления стратегия «Optimistic locking» предполагает что никто не изменит данные в базе данных кроме Вас, поэтому нет необходимости блокировать эти данные на время работы всего приложения.

Microgames.ru v.2 - Новости, примеры, статьи о программировании.
Сделано в 2006 году. Перевыпущен в 2008 году.
Сайт содержит оригинальные материалы и переводы.
Сообщения об ошибках просьба присылать по адресу: contact@microgames.ru