问题标签 [parallelstream]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 增加 ForkJoinPool 后,Java 中的并行流如何工作?
我看到默认ForkJoinPool.commonPool
大小比 CPU 内核数少一个线程。而且要制作自定义池,我们可以使用以下方法,
但我很难理解这实际上是如何工作的。多线程是操作系统的东西。因此,如果一个处理器有 2 个内核和 4 个线程(OperatingSystem 显示的详细信息),并且我将 Java 并行度更改为 30,它将如何与 CPU 一起工作?它将立即创建并可以同时运行的最大线程数是多少?它会同时创建 30 个线程并并行处理,还是因为 CPU 有 4 个线程,它会创建 4 个线程,一旦再次完成,又会创建 4 个这样的线程?甚至我们增加了多少并行度,甚至在 Spring Boot 的具有更高网格大小的批处理中,它是否总是取决于 CPU 内核和 CPU 的线程?提前致谢。