【发布时间】:2013-07-04 06:25:22
【问题描述】:
我遇到过 openMP,它可以用于并行化 c、C++ 中的 for 循环。当然,OpenMP 可以做的远不止这些。但我很好奇我们是否可以并行化 Java 中的 for 循环以优化程序的性能。假设我在 for 循环中有 n 次迭代,有没有办法并行运行这些迭代?
【问题讨论】:
-
使用线程应该有帮助吗?
-
@JunedAhsan:理想情况下,有一个更高级的解决方案。
-
如果每次迭代花费大量时间并且独立于循环中先前的计算,则使用 ThreadPoolExecutor 并将计算作为任务提交。
-
我建议在提交包含大量重复项的问题之前尝试基本的google search。参见例如this question。
-
您可以使用 Java 8 流使集合迭代并行。
标签: java multithreading openmp