Встречается на собеседованиях • сегодня

Что такое пессимистичная транзакция

Пессимистичная блокировка предполагает, что конфликты при работе с данными вероятны. Перед доступом к данным транзакция явно блокирует их (SELECT FOR UPDATE в SQL), предотвращая изменения другими транзакциями до завершения текущей.

Пример в Java с JPA:

java
entityManager.getTransaction().begin();
// Блокируем запись с id=1 для изменения
Product product = entityManager.find(Product.class, 1, LockModeType.PESSIMISTIC_WRITE);
product.setStock(product.getStock() - 1);
entityManager.getTransaction().commit();

Плюсы: гарантирует целостность данных.
Минусы: снижает производительность из-за блокировок, риск взаимоблокировок (deadlocks). Используется, когда важнее избежать конфликтов, чем обеспечить высокую скорость работы.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы