当前位置: 首页 > 面试题库 >

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

杨晓博
2023-03-14
问题内容

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

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

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

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

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


问题答案:

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

特别是,没有将a映射Callable到a
Collection并等待结果的功能,但是您可以轻松地Collection<Callable<T>>Callable<T>and内构建a
Collection<T>,然后调用invokeAll,即可返回a List<Future<T>>

(如果您想从中模拟其他功能multiprocessing.Pool,则需要循环遍历submit并构建自己的待收集的东西。但这map很简单。)



 类似资料:
  • 问题内容: 使用一段时间后,我真的很喜欢Numpy多维数组。用简洁而易读且相当通用的代码编写算法会很有帮助。我希望在Java中也有同样的事情。在自己使用类似Numpy的API编写多维数组之前,已经有这样的东西吗? [PS]我搜索了一下,没看到 问题答案: 因此,最接近的比赛似乎是柯尔特!http://acs.lbl.gov/software/colt/ 它具有多维数组对象,数组视图和通常的线性代数

  • 问题内容: 我正在使用Java进行编译器设计项目。进行了词法分析(使用jflex),我想知道哪种yacc类工具最适合(最有效,最易用等)进行语法分析,为什么这样做。 问题答案: 如果您特别想要类似YACC的行为(表驱动),那么我所知道的唯一一个就是CUP。 在Java世界中,似乎有更多的人倾向于ANTLR或JavaCC之类的递归下降解析器。 而且效率很少是选择解析器生成器的原因。

  • 问题内容: 我正在寻找Java ByteBuffer的“ C ++”。 我可能会丢失明显的内容,或者仅需要一个孤立的用法示例进行澄清。我浏览了iostream家族,它似乎可以提供基础。具体来说,我希望能够: 从字节数组/点构建缓冲区,并从缓冲区获取原语,例如getByte,getInt 使用原语(例如putByte,putInt)构建缓冲区,然后获取字节数组/指针。 问题答案: 您已经拥有,或者可

  • 问题内容: Java是否具有表示一段时间的数据类型,例如34秒,5分钟等。 我已经看到了一些TimeSpan的实现,这些实现涵盖了从12月10日到12月11日这样的时间段。 我需要的是类似C#中的TimeSpan。 问题答案: 目前还不是JDK的一部分,但是将被合并到JDK 7中-尝试Joda Time

  • 问题内容: 在这里遇到一些建筑上的麻烦。 在C ++中,我们有“朋友”的概念,这种朋友类可以访问私有成员。 因此,我正在设计一个Java应用程序并尝试遵守MVC架构。我有一个控制器类来管理“ map_objects”之间的图形连接。我想通过使用此控制器类在DTO’map_objects’中隐藏实际设置这些连通性的函数。 (即,即使控制器类实现了设置连接性所需的功能,“用户”仍然可以直接在DTO中访

  • 问题内容: 在Java中有与.NET等效的东西吗? 问题答案: 看一下String.format和PrintStream.format方法。 两者都基于java.util.Formatter类。 String.format示例: System.out.format示例: