Мое понимание шаблона «производитель-потребитель» состоит в том, что он может быть реализован с использованием очереди, совместно используемой производителем и потребителем.Производитель отправляет работу в общую очередь, потребитель получает ее и обрабатывает.Он также может быть реализован производителем, напрямую отправляющим его потребителю (потоки производителя, напрямую отправляющему в службу исполнителя Consumer).
Теперь я смотрю на класс Executors, который предоставляет некоторые распространенные реализации пулов потоков.Метод newFixedThreadPool, согласно спецификации, «повторно использует фиксированное количество потоков, работающих в общей неограниченной очереди».О какой очереди они здесь говорят?
Если источник напрямую отправляет задачу потребителю, это внутренняя очередь ExecutorService, содержащая список Runnables?
Или это промежуточная очередь, если производитель отправляетв общую очередь?
Может быть, я упускаю весь смысл, но кто-нибудь, пожалуйста, уточните?