Java 线程工作分配和多核的JVM实现

Java 线程工作分配和多核的JVM实现,java,jvm,multicore,threadpool,Java,Jvm,Multicore,Threadpool,我正在研究多核平台上的语言实现。目前,我正试图弄清楚两件事: JVM实现如何将java.lang.Thread映射到操作系统本机线程 比如说开放JDK,我想我甚至不知道应该看哪些部分来了解更多。是否有任何文档描述本机功能是如何实现的?由于java.lang.Thread中有一些部分是本机的,因此我假设在本机部分中可能会编码更多的内部部分 将此映射到多核,如何对多核进行映射?线程如何映射到不同的内核以同时运行?我知道我们可以使用ExecutorService实现来利用多核功能。从前面的答案可以

我正在研究多核平台上的语言实现。目前,我正试图弄清楚两件事:

  • JVM实现如何将
    java.lang.Thread
    映射到操作系统本机线程
  • 比如说开放JDK,我想我甚至不知道应该看哪些部分来了解更多。是否有任何文档描述本机功能是如何实现的?由于
    java.lang.Thread
    中有一些部分是本机的,因此我假设在本机部分中可能会编码更多的内部部分
将此映射到多核,如何对多核进行映射?线程如何映射到不同的内核以同时运行?我知道我们可以使用
ExecutorService
实现来利用多核功能。从前面的答案可以得出一个结论:如果操作系统本机线程负责工作分配和线程调度,那么JVM通过
ThreadPool
ExecutorService
所做的只是创建线程并向它们提交任务,这是真的吗

我会感谢你们的回答,如果我在这个话题上走对了方向,我也会很感激

比如说开放JDK,我想我甚至不知道应该看哪些部分来了解更多

你应该从C++中编码的源代码的部分开始。一个C/C++ IDE可以帮助你进行代码库探索。 将此映射到多核,如何对多核进行映射?线程如何映射到不同的内核以同时运行

我很确定操作系统负责这方面的工作,而不是JVM

。。。JVM通过ThreadPool和ExecutorService所做的只是创建线程并向它们提交任务,这是真的吗

好的,是的