gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:18:07 24 4
gpt4 key购买 nike

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

  • JVM 实现如何映射 java.lang.ThreadOS 本地线程
  • 例如说 Open JDK,我想我什至不知道我应该看哪些部分来阅读更多相关信息。是否有任何文档描述如何实现原生 功能?由于java.lang.Thread中有零件是 native 的,我假设可能更多的内部部分是在 native 部分中编码的。

把这个带到多核上,这个映射是如何为多核完成的?线程如何映射到不同的核心同时运行?我知道有 ExecutorService我们可以用来利用多核功能的实现。这里可以得出前面答案的结果:如果操作系统 native 线程负责工作分配和线程调度,那么说 JVM 通过 ThreadPool 做什么是真的吗?和 ExecutorService只是创建线程并向其提交任务?

如果您的回答以及我在主题上的正确轨道,我将不胜感激。

最佳答案

For instance say Open JDK, I think I even do not know what parts I should take a look to read more about this.

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

Taking this to multicore, how is this mapping done for multicore? How threads are mapped to different cores to run simultaneously?

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

... is it true to say that what JVM does through ThreadPool and ExecutorService is only creating threads and submitting tasks to them?

据我所知,是的。

关于java - 线程工作分配和多核的JVM实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4203021/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com