Мне нужно реализовать схему производитель / потребитель, в которой потребители по соображениям производительности пытаются обрабатывать множество рабочих элементов в одном пакете (каждый из них истощает рабочую очередь).
В настоящий момент я 'я просто создаю фиксированное количество идентичных рабочих, которые работают в одной и той же очереди в цикле. Поскольку некоторые из них могут умереть, мне нужно позаботиться о их замене.
Я бы хотел использовать fixedThreadPool для управления заменой потоков, но в моем случае не отображается схема Executor
, как хотелось быдетализация производителя и потребителей не совпадают - только потребители могут собирать подходящую партию работы.
Каковы мои варианты управления пулом потоков (фиксированного размера), когда мои рабочие элементы не могут бытьвыражается в виде Runnables / Callables?
(В качестве альтернативы, могу ли я каким-то образом соблюсти мое требование по пакетированию произведенных рабочих элементов вместе и при этом иметь возможность использовать службу Executor?)