如果我有像这样的处理器,其说明#核心=4,#线程=4,且不支持超线程技术。
这是否意味着我可以同时运行4个程序/进程(因为一个核心只能运行一个线程)? 还是这意味着我可以同时运行4×4=16个程序/进程?
根据我的调查,如果没有超线程技术,每个核心只能运行1个线程(进程)。如果我错了,请指出。
如果我有像这样的处理器,其说明#核心=4,#线程=4,且不支持超线程技术。
这是否意味着我可以同时运行4个程序/进程(因为一个核心只能运行一个线程)? 还是这意味着我可以同时运行4×4=16个程序/进程?
根据我的调查,如果没有超线程技术,每个核心只能运行1个线程(进程)。如果我错了,请指出。
线程与进程不同。一个进程可以有多个线程。线程是一系列命令的顺序。逻辑核心可以执行一系列命令。操作系统将所有线程分配到所有可用的逻辑核心中,如果线程数大于核心数,则线程在快速队列中处理,核心会非常快速地切换。
看起来所有的线程都是同时运行的,但实际上操作系统将CPU时间分配给它们。
具有多个核心的好处是较少的并发线程将被放置在单个核心上,线程之间的切换较少=更快的速度。
超线程在一个物理核心上创建了2个逻辑核心,并使得线程之间的切换更快。
基本上是正确的,显然大部分操作系统允许你同时执行更多的任务,而这远远超过了核心或线程数,这是通过交错指令的执行来实现的。
具备超线程技术的系统通常具有比物理核心多两倍的硬件线程。