我想知道是否有人能向我指出一个简单的相当于python在java中的多处理模块。
我有一个简单的并行处理场景(没有2个进程交互):获取一个数据集并将其拆分为12,并将一个java方法应用到12个数据集中,收集结果并以相同的顺序将它们加入到某种类型的列表中。
Java是一种“亲”语言,它似乎有多个库和方法--谁能帮助这个java新手入门呢?
我想用最少的编码来做这件事--正如我说过的,我的要求非常简单。
更新:how to do multiprocessing in java, and what speed gains to expect?
这似乎表明线程是要走的路。我想我别无选择,只能涉水进入一堆船闸(双关语,意料之外),等待我的船启航。不过,简单的例子是值得欢迎的。
发布于 2013-08-20 00:28:25
没有完全兼容的类,但是ExecutorService为您提供了实现它所需的一切。
特别是,没有函数可以在Callable上映射Collection并等待结果,但是您可以轻松地从Callable<T>和Collection<T>构建Collection<Callable<T>>,然后调用invokeAll,这会返回一个List<Future<T>>。
(如果您想模仿multiprocessing.Pool中的其他一些函数,则需要循环使用submit,并构建您自己的东西集合以供等待。但map很简单。
https://stackoverflow.com/questions/18324797
复制相似问题