Что такое BlockingQueue и какие реализации есть?

Senior
308 просмотров
AFK Offer AI

BlockingQueue — очередь, которая блокирует поток при take() из пустой очереди или put() в полную. Основа паттерна producer-consumer. Реализации: ArrayBlockingQueue (ограниченная, на массиве), LinkedBlockingQueue (опционально ограниченная), PriorityBlockingQueue (с приоритетом), SynchronousQueue (без ёмкости — передача напрямую), DelayQueue (элементы доступны после задержки). offer/poll с таймаутом — не блокируют бесконечно. ThreadPoolExecutor использует BlockingQueue для очереди задач.

Следующий вопрос

Реализуйте паттерн Strategy на Java