【发布时间】:2012-03-21 01:57:35
【问题描述】:
我对 Java 还是很陌生,并且非常喜欢学习它。我制作了一个运行良好的程序,但是当我添加更多数据进行处理时需要很长时间。我把它做成了线程,它确实加快了它的速度,但现在我正在考虑尝试加快它的速度(显然它需要处理的数据越多,处理时间越长)。仅供参考,我的程序不会在线程之间共享任何数据,它会获取列表中的一项并进行一些数学运算并将结果上传到数据库。理想情况下,几台工作计算机获取列表中的一些项目,然后执行它的工作,然后得到更多的工作,直到它完成
我做了一些研究并找到了队列,但不确定它是否是我需要的,或者那里是否还有其他东西(我还认为维护工作人员的完整性/监控可能对我来说太过分了新手)。我家里有 4 台电脑(一些 Linux、mac 和 windows ..但如果这些解决方案是特定于操作系统的,我可以在所有非 Linux 系统上安装 linux vm)并且想让他们也开始处理这个任务。我考虑过创建 Java 队列,让其他客户端占用并处理,但我也看到了库(rabbitmq)。我还简要地研究了网格计算。
这是要走的路还是有更好的方法?我不需要任何代码或任何东西,只想知道分配线程的解决方案是什么,或者在评估它们时使用什么因素。
【问题讨论】:
标签: java queue parallel-processing distributed-computing