Итак, у меня есть несколько этапов: этап 1 -> этап 2 -> этап 3 -> этап 4, поэтому в некоторых случаях производитель будет потребителем, и на каждом этапе есть несколько производителей / потребителей, которые могут использовать несколько процессоров.В случае повторного запуска некоторые пакеты пропустят шаги, то есть перейдут прямо от этапа 1 к этапу 4.
Так что я собирался иметь класс для каждого этапа, разделяя BlockingQueue с предыдущим этапом, но я также прочиталчто ExecutorService работает как шаблон Производитель / Потребитель все в одном, поэтому я пытаюсь использовать лучшую абстракцию.
Однако мне кажется, что при использовании Executor бит производителя делается до того, как они будут отправленыпоследовательно исполнителю, а это не то, что я хочу.
Может кто-нибудь уточнить, пожалуйста?