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

时间:2010-11-17 09:25:09

标签: java jvm multicore threadpool

我正在研究多核平台上的语言实现。目前,我想弄清楚一些事情:

  • JVM实现如何将java.lang.Thread映射到 OS本机线程
  • 比如说Open JDK,我想我甚至不知道我应该看看哪些部分可以阅读更多相关内容。是否有任何文档描述如何实现 native 功能?由于java.lang.Thread中的部分是原生的,我假设可能在原生部分中编写了更多的内部部分。

将此映射到多核,如何为多核进行映射?线程如何映射到不同的核心以同时运行?我知道我们可以使用ExecutorService实现来利用多核功能。这可能是以前答案的结果:如果OS本机线程负责工作分配和线程调度,那么说JVM通过ThreadPoolExecutorService执行的操作只是创建线程并向他们提交任务?

我会感谢你的答案,也感谢我在主题上的正确轨道。

1 个答案:

答案 0 :(得分:1)

  

比如说Open JDK,我想我甚至不知道应该看看哪些部分可以阅读更多关于此的内容。

您应该首先查看用C ++编码的源代码部分。 C / C ++ IDE可以帮助您进行代码库探索。

  

将此映射到多核,如何为多核进行映射?线程如何映射到不同的核心以同时运行?

我很确定操作系统会处理这个方面,而不是JVM。

  

...是不是说JVM通过ThreadPool执行的操作和ExecutorService只是创建线程并向其提交任务?

AFAIK,是的。

相关问题