是否有一个 Java 线程池对象可以在可用内核之间自动对线程进行负载平衡,或者这是由 JVM 为您完成的?
最佳答案
由于(大多数)JVM 使用 native 线程,线程的调度由操作系统负责。很可能仍然存在 JVM 的“绿色线程”实现(或者至少是它们的选项,尤其是在较旧的 JVM 上),但由于“绿色线程”是由 JVM 本身实现的,因此它们往往无法跨内核扩展。使用 native 线程的主要目标是多处理器兼容性。 JVM 通常不会在操作环境中以足够低的级别运行以控制机器的 CPU 等资源。
我一直在限定哪个 JVM,因为虽然绝大多数人使用 Oracle/OpenJDK JVM,但还有其他 JVM、较旧的 JVM、嵌入式硬件上的 JVM 的行为与 Oracle/OpenJDK JVM 不同。
关于java - 是否有一个 Java 线程池对象可以在可用内核之间自动对线程进行负载平衡,或者这是由 JVM 为您完成的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25813990/