Java多线程

时间:2013-06-30 11:08:14

标签: java multithreading simd

我需要对java环境中的大量数据执行单个计算(总和和产品)。我知道最好的解决方案是使用CUDA之类的SIMD架构,但我没有能力拥有专用硬件。 您知道在单台机器上运行并利用多核的map减少框架吗?

1 个答案:

答案 0 :(得分:2)

对于这类任务,通常建议使用fork-join框架,因为它会自动使用与内核一样多的线程,您可以在Java教程中阅读更多相关内容:http://docs.oracle.com/javase/tutorial/essential/concurrency/forkjoin.html

另一方面,如果你只是求和并乘以数字,那么选择固定数量的线程(如4)可能更简单,并且让第一个线程对索引0,4,8处的数字求和,...第二名是指数1,5,9,......第三名是2,6,10,......等等。