Сравнение процессов производительности Java с потоками

Я реализую рабочий пул на Java.

По сути, это целый набор объектов, которые собирают фрагменты данных, обрабатывают данные и затем сохраняют результат. Из-за задержки ввода-вывода рабочих будет значительно больше, чем ядер процессора.

Сервер предназначен для этой задачи, и я хочу выжать из оборудования максимальную производительность (но нет, я не хочу реализовывать это на C ++).

Простейшей реализацией было бы использование одного процесса Java, который создает и контролирует несколько рабочих потоков. Альтернативой может быть запуск Java-процесса для каждого рабочего.

Предположим в качестве аргументов для четырехъядерного сервера Linux, какое из этих решений, по вашему мнению, будет более производительным и почему?

Вы можете предположить, что рабочим никогда не потребуется общаться друг с другом.

14
задан Andy Thomas 26 October 2011 в 14:16
поделиться