有人可以解释一下吗?
i7 处理器可以运行 8 个线程,但我很确定我们可以在 JAVA 或 C++ 程序中创建超过 8 个线程(但不确定)。我有一个 i5 处理器,在研究并发性时我创建了 10 个线程用于分配。我只是想了解 CPU 的核心评级与线程有何关系。
您所指的线程称为软件线程;只要操作系统允许,您就可以根据需要创建任意数量的软件线程。每个软件线程或代码片段都可以运行同时来自其他人。
对于每个核心,有最后一个 硬件线程操作系统可以为其分配软件线程。例如,如果你有 8 个核心,那么你就有一个容量为 8 的硬件线程池。你可以将数十或数百个软件线程映射到这个 8 槽池,其中实际上只有 8 个线程同时在硬件上运行, IE。在平行下.
软件线程就像共享同一台计算机的人们。每个人都可以使用这台计算机一段时间,不一定完成他的任务,然后将其交给另一个人。
硬件线程就像每个人都有一台计算机。他们所有人都可以同时执行自己的任务。
Note:对于i7,有两个硬件线程 http://software.intel.com/en-us/blogs/2008/10/29/on-processors-cores-and-hardware-threads(所谓的超线程)在每个核心中。因此最多可以有 16 个线程并行运行。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)