Я реализую рабочий пул в Java.
Это, по сути, целая нагрузка объектов, которые собирают куски данных, обрабатывают данные и затем сохраняют результат. Из-за латентности IO будет значительно больше рабочих, чем процессорные ядра.
Сервер предназначен для этой задачи, и я хочу выжать максимальную производительность из оборудования (но нет, я не хочу его реализовывать на С++).
Простейшей реализацией может быть один процесс Java, который создает и контролирует ряд рабочих потоков. Альтернативой может быть запуск Java-процесса для каждого работника.
Предполагая для аргументов ради четырехъядерного Linux-сервера, какие из этих решений вы ожидали бы быть более результативными и почему?
Вы можете предположить, что работникам никогда не нужно общаться друг с другом.