Я довольно новичок в java и действительно наслаждаюсь изучением этого. Я создал программу, которая работает хорошо, но занимает немного времени, когда я добавляю больше данных для ее обработки. Я сделал это в потоковом режиме, и это действительно ускорило его, но теперь я думаю о попытке ускорить его (очевидно, больше данных, которые он должен обработать, дольше, чем это требуется). Просто fyi, моя программа не передает никаких данных между потоками, она получает один элемент списка и выполняет некоторую математику и загружает результат в базу данных. В идеале, несколько рабочих компьютеров получают несколько элементов списка, а затем выполняют свою работу, а затем получают больше работы до его завершения.Распределение потоков Java по нескольким серверам?
Я сделал несколько исследований и нашел очереди, и не уверен, что это то, что мне нужно или если есть что-то другое (также я думал, что поддерживать честность/контроль над рабочими может быть слишком много для меня, чтобы писать как новичок). У меня есть 4 компьютера дома (некоторые Linux, Mac и Windows ... но я могу установить linux vm во всех системах nonlinux, если эти решения являются специфическими для ОС) и хотел попытаться заставить их начать работу над этой задачей. Я думал о создании очередей Java, которые другие клиенты берут на себя и обрабатывают, но я также видел библиотеки (rabbitmq). Я также кратко рассмотрел grid-вычисления.
Это путь, или есть лучший способ? Мне не нужен какой-либо код или что-то еще, просто хочу знать, какие решения для распространения потоков или какие факторы следует использовать при их оценке.