我正在研究多核平台上的语言实现。目前,我想弄清楚一些事情:
java.lang.Thread
映射到 OS本机线程? java.lang.Thread
中的部分是原生的,我假设可能在原生部分中编写了更多的内部部分。 将此映射到多核,如何为多核进行映射?线程如何映射到不同的核心以同时运行?我知道我们可以使用ExecutorService
实现来利用多核功能。这可能是以前答案的结果:如果OS本机线程负责工作分配和线程调度,那么说JVM通过ThreadPool
和ExecutorService
执行的操作只是创建线程并向他们提交任务?
我会感谢你的答案,也感谢我在主题上的正确轨道。
答案 0 :(得分:1)
比如说Open JDK,我想我甚至不知道应该看看哪些部分可以阅读更多关于此的内容。
您应该首先查看用C ++编码的源代码部分。 C / C ++ IDE可以帮助您进行代码库探索。
将此映射到多核,如何为多核进行映射?线程如何映射到不同的核心以同时运行?
我很确定操作系统会处理这个方面,而不是JVM。
...是不是说JVM通过ThreadPool执行的操作和ExecutorService只是创建线程并向其提交任务?
AFAIK,是的。