我认为还有另一种方法。
这是经典的多进程编程问题。在C语言中,有库MPI可以解决此类问题。
它的想法是将整数列表分块,例如分为4部分,每部分通过不同的过程求和。完成后,将过程汇总在一起。
在Java中,这可以通过线程(伪并行)和Java并发来完成。
例如,4个不同的线程合计了列表的4个不同部分。最后将它们加在一起。
电话公司使用执行这种并行编程技术的网格计算机来汇总其事务。
唯一的问题(瓶颈)是IO操作。读取文件将花费很多时间。如果可以使多个线程读取文件的 不同
部分……这是一种非常复杂的方法,我认为这样做不会有什么好处,因为磁盘不会因为仅被多个线程使用而旋转得更快。做类似事情的其他技术。



