相当于Java的Python pool.map/多处理

pyt*_*ist 5 python java parallel-processing concurrency multiprocessing

我想知道是否有人可以将我指向java中python的多处理模块的简单等效项。

我有一个简单的并行处理方案(没有2个进程交互):取一个数据集并将其分成12个,然后将Java方法应用于12个数据集,收集结果并将它们按相同的顺序加入到某种列表中。

作为“专业”语言的Java似乎具有多个库和方法-谁能帮助这个Java新手入门?

我想用最少的编码做到这一点-正如我说的那样,我的要求非常简单。

更新: 如何在Java中进行多处理,以及预期的速度提高?

这似乎表明线程是要走的路。我希望我别无选择,只能走进一堆锁(意想不到的双关语),等待我的船开航。不过,欢迎举一些简单的例子。

aba*_*ert 4

没有完全兼容的类,但为ExecutorService您提供了实现它所需的一切。

特别是,没有函数可以将 a 映射Callable到 aCollection并等待结果,但您可以轻松地Collection<Callable<T>>从 aCallable<T>和构建Collection<T>a ,然后只需调用invokeAll,它会返回一个List<Future<T>>

(如果您想模拟 中的一些其他函数multiprocessing.Pool,您将需要循环submit并构建您自己的等待对象集合。但这map很简单。)