【发布时间】:2019-08-01 23:55:28
【问题描述】:
我有一个方法:
invokList(List<Object> list);
这个方法在一个 jar 里面,我无法访问它的源代码。所以为此,我需要以并行方式执行 invokList,有人可以帮忙吗?
思路是将列表拆分为多个列表,并行执行invokList。
我做了这个例子:
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class Test {
public static void main(String[] args) {
List<Integer> list = Arrays.asList(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20);
list.parallelStream()
.map(Collections::singletonList)
.forEach(Test::invokList);
}
public static void invokList(List<Integer> list) {
try {
Thread.sleep(100);
System.out.println("The Thread :" + Thread.currentThread().getName() + " is processing this list" + list);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
【问题讨论】:
-
你没有问一个真正的问题。
-
如果你执行上面的测试,结果是一个一个地处理元素我想要批处理之类的东西
-
不要在评论中写这个,把它添加到你的问题中。请注意,说出您的愿望仍然是事实陈述,而不是问题。见How to Ask
标签: java java-8 parallel-processing java-stream