我对Java很新,很享受学习它。我编写了一个运行良好的程序,但是当我添加更多的数据进行处理时,需要花费很长时间。我把它做了线程化,并且真的加速了它,但是现在我正试图加速它的速度(显然需要更多的数据来处理它需要的时间)。只是一个fyi,我的程序不会在线程之间共享任何数据,它会得到列表中的一个项目并执行一些数学操作并将结果上传到数据库。理想情况下,几台工作的计算机得到列表中的几项,然后完成它的工作,然后得到更多的工作,直到它完成在多个服务器上分配java线程?
我做了一些研究,发现队列,并不知道它是我需要还是如果还有别的东西(也是我认为维护员工的诚信/监督对于我来说可能是太多了,不足以成为新手)。我家里有4台电脑(一些Linux,Mac和Windows ..但是如果这些解决方案是特定的,我可以在所有的非Linux系统上安装linux虚拟机),并且想要让他们也开始处理这个任务。我想过创建Java队列,其他客户端需要做一些工作,但我也看到了库(rabbitmq)。我也简要介绍了网格计算。
这是要走的路吗还是有更好的方法?我不需要任何代码或任何东西只是想知道什么是分配线程的解决方案或评估它们时使用什么因素。