Какая типичная ошибка при работе с Semaphore и как ее избежать?

JavaMiddleConcurrency и MultithreadingОшибка кандидатаjava|concurrency и multithreading|semaphore

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

Ошибка: использовать как бизнес-lock без fairness и timeout.

Ответ:

Как избежать: вернитесь к контракту и назначению темы: Semaphore ограничивает количество одновременных доступов к ресурсу. Проверьте edge cases: null, конкурентный доступ, транзакции, ошибки, объем данных и lifecycle Spring/JVM.

Хороший кандидат: объясняет симптом, причину и безопасное исправление, а не просто вспоминает термин.

Semaphore semaphore = new Semaphore(10);

Источники

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