Встречается на собеседованиях • сегодня
Как был реализован Transaction lock
В Java транзакционные блокировки реализуются через механизмы синхронизации или API java.util.concurrent.locks.
Основные подходы:
synchronized- блокировка на уровне метода или блока кода:
java
public synchronized void transfer(Account from, Account to, int amount) {
from.withdraw(amount);
to.deposit(amount);
}ReentrantLock- более гибкая блокировка:
java
private final Lock lock = new ReentrantLock();
public void transfer(Account from, Account to, int amount) {
lock.lock();
try {
from.withdraw(amount);
to.deposit(amount);
} finally {
lock.unlock();
}
}Особенности:
synchronizedпроще, но менее гибкийReentrantLockподдерживает таймауты, честную очередь и условия- Для распределенных систем используют
DistributedLock(Zookeeper, Redis)

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы