Java并行流ParallelStream你应了解的
parallelStream作用
采用多线程可以加快处理集合操作,底层原理是使用线程池ForkJoinPool(深入原理期待你的分享)
并行流一定会比Stream快吗?
在处理数据量并不大的情况下,“parallelStream()”的代码有时比使用“stream()”的代码慢。 因为:parallelStream()总是需要执行比按顺序执行更多的,在多个线程之间分割工作并合并或组合结果会带来很大的开销。像将短字符串转换为小写字符串这样的用例非常小,与并行拆分开销相比,它们可以忽略不计。
使用多个线程处理数据可能会有一些初始设置成本,例如初始化线程池。这些开销可能会抑制使用这些线程所获得的收益,特别是在运行时CPU已经非常低的情况下。另外,如果有其他线程在运行后台进程等,或者争用很高,那么并行处理的性能会进一步降低。
线程安全性要认真考虑
不合理的使用数据类型导致,CPU占用高
如下代码在生成环
共有 0 条评论