gpt4 book ai didi

java - 是否鼓励在 Java 中使用多处理池?我有正在转换为 Java 的 Python 代码

转载 作者:行者123 更新时间:2023-11-29 04:32:23 26 4
gpt4 key购买 nike

Python 代码 - 使用多处理池并映射字符串数组。在数组中的每一项上,部分函数用于调用回调函数:

p = multiprocessing.Pool(1)
p.map(functools.partial(callback_function,
arg1 = arg1,
arg2 = arg2,
), array_string_items)

我正在尝试用 Java 做类似的事情。我在 Java API 中看不到任何与上面的 Python 代码一样简单的东西。

1) 是否更鼓励使用线程而不是处理器池?2) 如果是这样,我将如何实现?

谢谢

最佳答案

您的 Python 示例在 Java 中如下所示:

stringList.parallelStream()
.map((str) -> callbackFunction.apply(arg1, arg2, str));

假设 callbackFunction 接受三个参数,并且您将常量 arg1、arg2 参数应用于它以使其成为部分参数。

您可以显式定义偏函数:

int arg1 = 10;
String arg2 = "foo";
Function<String, String> partialFunction = (str) -> callbackFunction.apply(arg1, arg2, str);

然后流处理变得非常简单:

stringList.parallelStream().map(partialFunction);

关于java - 是否鼓励在 Java 中使用多处理池?我有正在转换为 Java 的 Python 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43331293/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com