Чем deadlock отличается от race condition и когда что выбрать?

JavaMiddleConcurrency и MultithreadingСравнениеjava|concurrency и multithreading|deadlock

Что хотят услышать интервьюеры:

Сравнение: deadlock стоит сравнивать с race condition по критериям читаемости, безопасности, производительности, тестируемости и поддержки командой.

Ответ:

Когда выбирать deadlock: когда его свойства прямо соответствуют задаче: deadlock возникает, когда потоки ждут ресурсы друг друга.

Слабый ответ: “так принято в Spring/Java”. На собеседовании лучше объяснить ограничения и цену выбора.

// lock A then B vs lock B then A

Источники

Похожие вопросы