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

Что такое Pessimistic Locking

Pessimistic Locking — это механизм блокировки данных на уровне БД, который предполагает, что конфликты при одновременном доступе вероятны. Суть: запись блокируется на время транзакции, другие транзакции не могут её изменить или заблокировать.

Пример в Java с JPA:

java
// Блокировка при чтении
EntityManager em = entityManagerFactory.createEntityManager();
em.getTransaction().begin();
Product product = em.find(Product.class, 1L, LockModeType.PESSIMISTIC_WRITE);
product.setQuantity(product.getQuantity() - 1);
em.getTransaction().commit();

Особенности:

  • Гарантирует целостность данных
  • Может привести к deadlock'ам
  • Снижает производительность
  • Используется, когда конфликты часты

В SQL реализуется через SELECT FOR UPDATE и аналоги.

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

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

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

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