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

Что такое Shared Lock

Shared Lock (разделяемая блокировка) — это тип блокировки в БД, которая позволяет нескольким транзакциям одновременно читать данные, но запрещает их изменение.

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

  • Совместима с другими Shared Locks (параллельное чтение).
  • Несовместима с Exclusive Locks (блокировка на запись).
  • Используется для обеспечения согласованности данных при чтении.

Пример (SQL):

sql
-- Чтение с Shared Lock (SELECT ... FOR SHARE в PostgreSQL)
BEGIN;
SELECT * FROM accounts WHERE id = 1 FOR SHARE;
-- Другие транзакции могут тоже читать эту строку, но не изменять
COMMIT;

Аналог в Java (JPA/Hibernate):

java
entityManager.createQuery("SELECT a FROM Account a WHERE a.id = 1", Account.class)
            .setLockMode(LockModeType.PESSIMISTIC_READ)
            .getResultList();

Shared Lock предотвращает "грязное чтение" (Dirty Read), но не блокирует параллельные операции чтения.

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

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

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

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