英文:
Thread in stream vs Parallel Stream
问题
我对在性能方面使用哪个不太确定。应该使用哪个?两个版本都具有相同的功能。
代码片段1:
fileMap.values().stream().parallel().forEach(file -> {
downlod(file);
});
代码片段2:
fileMap.values().forEach(file -> {
executor.execute(file);
});
英文:
I am unsure about which to use in performance wise. Which should be used? Both version have the some functionality.
Code snippet 1
fileMap.values().stream().parallel().forEach(file -> {
downlod(file);
});
Code snippet 2
fileMap.values().forEach(file -> {
executor.execute(file);
}
答案1
得分: 1
在进行大量计算任务时,使用单独的执行器。parallelStream
使用共享线程池,因此繁重的任务可能会阻塞应用程序其他部分中的 parallelStreams
。
英文:
In case of heavy computation task, go with separate executor. parallelStream
uses shared thread pool, thus heavy tasks can potentially block parallelStreams
in other parts of application.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论