2010-11-17 21 views
3

我正在对多核平台上的语言实现进行一些研究。目前,我试图找出几件事情:JVM实现线程工作分配和多核

  • 如何做一个JVM实现映射java.lang.ThreadOS本地线程
  • 比如说打开JDK,我想我甚至不知道应该查看哪些部分,以了解更多。是否有任何文档描述如何实现原生功能?由于java.lang.Thread中有部分是原生的,因此我认为可能有更多的内部零件在原生零件中编码。

考虑到多核,这个映射如何完成多核?线程如何映射到不同的内核以同时运行?我知道我们可以使用ExecutorService实现来利用多核功能。这可能是以前的答案的结果:如果操作系统本机线程负责工作分配和线程调度,那么说是通过ThreadPoolExecutorService只是创建线程并向它们提交任务来说明JVM做了什么?

我很感谢您的回答,以及我是否在主题的正确轨道上。

回答

1

例如说打开JDK,我想我甚至不知道我应该看看哪些部分看更多关于这个。

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

考虑到多核,这种映射如何完成多核?线程如何映射到不同的内核以同时运行?

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

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

AFAIK,是的。