Оптимистичные и пессимистичные блокировки - это подходы к управлению параллельным доступом к общим данным в конкурентных средах (многопоточные приложения, базы данных).
Пессимистичная блокировка:
Предполагает, что конфликты при доступе к данным вероятны. Прежде чем получить доступ к ресурсу, поток или транзакция накладывает на него блокировку (эксклюзивную или разделяемую). Другие потоки, пытающиеся получить к нему доступ, будут ждать, пока блокировка не будет снята.
synchronized
в Java, блокировки на уровне строк или таблиц в базах данных.java
Оптимистичная блокировка:
Предполагает, что конфликты при доступе к данным маловероятны. Доступ к данным осуществляется без наложения блокировок. Перед сохранением изменений проверяется, не были ли данные изменены другим потоком с момента их считывания. Если изменения были, операция отменяется и обычно повторяется (retry).
Оптимистичные и пессимистичные блокировки - это подходы к управлению параллельным доступом к общим данным в конкурентных средах (многопоточные приложения, базы данных).
Пессимистичная блокировка:
Предполагает, что конфликты при доступе к данным вероятны. Прежде чем получить доступ к ресурсу, поток или транзакция накладывает на него блокировку (эксклюзивную или разделяемую). Другие потоки, пытающиеся получить к нему доступ, будут ждать, пока блокировка не будет снята.
synchronized
в Java, блокировки на уровне строк или таблиц в базах данных.java
Оптимистичная блокировка:
Предполагает, что конфликты при доступе к данным маловероятны. Доступ к данным осуществляется без наложения блокировок. Перед сохранением изменений проверяется, не были ли данные изменены другим потоком с момента их считывания. Если изменения были, операция отменяется и обычно повторяется (retry).
Register or sign in to get access to full answers for all questions from the question bank.