Сопоставление Middle java.util.concurrent и виртуальные потоки обновлено

Задача и инструмент java.util.concurrent

Вопрос

Сопоставьте задачу и подходящий инструмент.

Попробуйте сами

Нажмите слева, потом подходящее справа.

Показать ответ и разбор

Коротко

Latch ждёт событий, семафор ограничивает доступ, блокирующая очередь связывает производителя и потребителя, LongAdder раскладывает счётчик по ячейкам и снижает конкуренцию, copy-on-write даёт чтение без блокировок ценой дорогой записи.

Правильные пары

Дождаться завершения 5 инициализаций
CountDownLatch
Не больше 10 одновременных запросов к API
Semaphore
Производитель и потребитель с буфером
BlockingQueue
Счётчик, который инкрементят сотни потоков
LongAdder
Список слушателей: читают часто, меняют редко
CopyOnWriteArrayList

Разбор

Latch ждёт событий, семафор ограничивает доступ, блокирующая очередь связывает производителя и потребителя, LongAdder раскладывает счётчик по ячейкам и снижает конкуренцию, copy-on-write даёт чтение без блокировок ценой дорогой записи.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме