这个问题在这里已有答案:
我知道有些问题与我的相似。但是,它们看起来非常过时(假设JDK 7等)。所以,我已经编写了一段时间的python并且不得不为大学学习Java。我知道there is a feature in Python,你可以使用一个Threads / Processes池将一个值列表映射到一个函数。
from multiprocessing.dummy import Pool as ThreadPool
pool = ThreadPool(4)
results = pool.map(my_function, my_array)
我必须在大量文件上使用该函数,我必须使用Java(10),我想使用多处理。我的问题是:Java有这样的功能吗?如果是这样,最佳做法是正确使用它吗?
是的,您可以使用parallelStream
,例如,将整数列表转换为字符串列表:
List<Integer> list = List.of(1, 2);
List<String> strings =
list.parallelStream()
.map(integer -> String.valueOf(integer)).collect(Collectors.toList());