❓ Что такое optimistic и pessimistic locking?
Optimistic locking — подход, при котором предполагается, что конфликты редки. Данные читаются без блокировки, а при обновлении проверяется, что никто не изменил их параллельно (обычно через version-поле). Если данные изменились — операция отклоняется, вызывается исключение, и клиент решает, что делать дальше.
Используется, например, с JPA (@Version) и хорошо работает при низкой конкуренции.
Pessimistic locking — подход, при котором при чтении или обновлении данных сразу накладывается блокировка, чтобы другие потоки/транзакции не могли изменить их до окончания текущей операции. Это снижает риск конфликтов, но уменьшает параллелизм.
🐸 Библиотека собеса по Java
Post #964
2.21K
- 👍 12
- 🔥 4
- ❤ 3