#473 Защита от deadlock при переводе между счетами

Компании:
IT_ONE
Темы:
JavaМногопоточностьКод ревью

Как избежать deadlock?

private void move(Account a1, Account a2, int summa) {
    synchronized (a1) {
        synchronized (a2) {
            // Проверки
            a1.money = a1.money + summa;
        }
        a2.money = a2.money + summa;
    }
}

Разбор вопроса

Ментор
Ответь как на реальном собеседовании. Я задам уточняющие вопросы, а затем сравню твой ответ с эталонным и покажу точность в %.
Войди, чтобы начать диалог Ментор ведёт диалог по текущему вопросу и учитывает предыдущие сообщения.
Войти