【发布时间】:2020-12-23 01:38:50
【问题描述】:
我了解 java parallelStream(或 ForkJoinPool)旨在最大限度地提高 CPU 利用率。 由于 java 流功能接口(如 map、reduce、filter)和 ForkJoinPool 的完美结合,我使用 java parallelstream 和 ForkJoinPool。
问题是 ForkJoin 不限制活动线程的数量。 如果某些线程在占用大内存时阻塞,ForkJoinPool 会尝试创建更多线程以满足并行度(运行线程)。
在这种情况下,cpu 利用率将最大化,但堆内存将耗尽甚至 OOM。
如何限制 ForkJoinPool 的活动线程数?
或者有没有java流接口替代品?
【问题讨论】:
标签: java java-stream