我最近一直在阅读有关system architecture
的主题,multi-threading
但尚未详细介绍技术的最新改进。我做了我的部分搜索,但找不到以下问题的答案:
有的问题是
1)multi-threading
依赖于system architecuture (CPU)
. 都CPU (single core)
支持multi-threading
吗?如果没有,multi-threaded
应用程序在这些机器上运行时会发生什么情况
这里引用的是
Intel CPUs support multithreading, but only two threads per CPU.
AMD CPUs do not support multithreading and AMD often sites Microsoft's
recommendations to turn off Hyperthreading on Intel CPUs when running applications
like peoplesoft and Exchange.
2)所以它只在这里说是什么意思two threads per CPU
。在任何给定时间,CPU (single core)
只能处理thread
. 而另一个thread
正在等待正确处理?
3)它与产生的应用程序有什么不同,比如说,10 threads
等待它们被执行。如果 CPU 最多只能处理two threads
,程序员在编写时不应该考虑到这一点multi-threaded applications
。
即使multi-core processors (say quad-core)
最多有8 threads can be queued
,但只能4 threads
同时处理。
PS:我读了一些关于hyper-threading
但我不确定这是否相关以及是否所有处理器都支持hyper-threading