两个进程可以同时运行在一个具有超线程的 CPU 内核上吗?我从网上学习。但是,我没有看到一个明确的直接答案。
编辑: 感谢讨论和分享!我在这里发布我的问题的目的不是讨论并行计算。太大了,这里就不讨论了。我只想知道多线程应用程序是否比多进程应用程序更能从超线程中受益。进一步阅读后,我有以下作为我的学习笔记。
1) 启用超线程技术的 CPU 内核有两组 CPU 状态和中断逻辑。同时,它只有一套执行单元和缓存。(我还没有研究什么是管道)
2)只有在某些执行的线程中发生延迟时,多线程才能从超线程中受益。我认为这一点可以准确地映射到软件程序员为什么以及何时使用多线程的常见原因。如果多线程应用程序已经优化。它可能不会从 Hypter 线程中获得任何好处。
3)如果CPU状态映射到进程状态,我相信Marc是正确的,多进程应用程序甚至可以从超线程技术中受益更多。
4) 当 CPU 供应商说“线程”时,看起来他们的“线程”与我作为 java 程序员所知道的线程不同?