我对Java还不是很熟悉,但非常喜欢学习它。我已经编写了一个程序,它的表现不错,但当我添加更多数据进行处理时,速度会变慢。我将它改为多线程后,速度快了很多,但现在我想尝试进一步提高它的速度(显然,需要处理的数据越多,时间就越长)。值得一提的是,我的程序不会在线程之间共享任何数据,它只获取列表中的一个项目,执行一些数学运算,并将结果上传到数据库中。理想情况下,几台工作计算机可以获取列表中的几个项目,然后处理它们,直到完成。
我做了一些研究,发现队列可能是我需要的,但我不确定是否有其他解决方案(我也在考虑维护完整性/监视工作者可能会让我这个新手写得太复杂)。我家里有4台计算机(其中一些是Linux、Mac和Windows系统,但如果这些解决方案是操作系统特定的话,我可以在所有非Linux系统上安装Linux虚拟机),我希望尝试让它们也开始处理这个任务。我考虑创建Java队列,让其他客户端获取其中一部分并进行处理,但我也看到了库(rabbitmq)。我也简要地了解了网格计算。
这是正确的方法,还是有更好的方法?我不需要任何代码或其他东西,只想知道分配线程的解决方案是什么,评估它们时要考虑哪些因素。
我做了一些研究,发现队列可能是我需要的,但我不确定是否有其他解决方案(我也在考虑维护完整性/监视工作者可能会让我这个新手写得太复杂)。我家里有4台计算机(其中一些是Linux、Mac和Windows系统,但如果这些解决方案是操作系统特定的话,我可以在所有非Linux系统上安装Linux虚拟机),我希望尝试让它们也开始处理这个任务。我考虑创建Java队列,让其他客户端获取其中一部分并进行处理,但我也看到了库(rabbitmq)。我也简要地了解了网格计算。
这是正确的方法,还是有更好的方法?我不需要任何代码或其他东西,只想知道分配线程的解决方案是什么,评估它们时要考虑哪些因素。