Чем Semaphore отличается от rate limiter и когда что выбрать?

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

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

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

Ответ:

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

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

Semaphore semaphore = new Semaphore(10);

Источники

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