【发布时间】:2018-09-02 14:32:56
【问题描述】:
我知道有些问题与我的类似。但是,它们似乎非常过时(假设 JDK 7 等) 所以,我已经编写了一段时间的 python 并且不得不为大学学习 Java。 我知道there is a feature in Python,您可以在其中使用线程/进程池将值列表映射到函数。
from multiprocessing.dummy import Pool as ThreadPool
pool = ThreadPool(4)
results = pool.map(my_function, my_array)
我必须在大量文件上使用该函数,我必须使用 Java (10),我想使用多处理。 我的问题是:Java 有这样的特性吗?如果是这样,正确使用它的最佳做法是什么?
【问题讨论】:
-
@rocksportrocker 答案在做出时是有效的,现在 5 年后,还有其他可能性,比如 stream().parallel()...
-
你可以使用并行流,也许(取决于任务,是否干扰等) - 但要小心:你说你想处理很多文件。并行磁盘访问只会使性能更差,而不是更好!
-
@GPI - 这并不意味着问题不是重复的。这意味着如果你想回答它,你应该去那里添加一个答案,而不是重复的问题。
标签: java python multithreading multiprocessing