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