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

Когда использовать пессимистичную блокировку

Пессимистичная блокировка применяется, когда высока вероятность конфликтов при одновременном доступе к данным. Она блокирует ресурс на уровне БД сразу при чтении, предотвращая изменения другими транзакциями до завершения текущей.

Пример сценария: банковский перевод, где важно исключить параллельное изменение баланса.

Пример в Java с JPA:

java
@Entity
public class Account {
    @Id
    private Long id;
    private BigDecimal balance;
}

// В сервисе:
Account account = entityManager.find(Account.class, accountId, 
    LockModeType.PESSIMISTIC_WRITE);
account.setBalance(account.getBalance().subtract(amount));

Плюсы:

  • Гарантирует целостность данных
  • Простота реализации

Минусы:

  • Снижение производительности
  • Риск взаимоблокировок

Используйте, когда важнее избежать конфликтов, чем обеспечить высокую пропускную способность.

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

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

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

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