线程与核心

teo*_*han 16 multithreading multicore

说,如果我有这样的处理器这样它说#核= 4,#线程= 4,不支持超线程.

这是否意味着我可以同时运行4个程序/进程(因为核心只能运行一个线程)?或者这是否意味着我可以同时运行4 x 4 = 16程序/进程?

从我的挖掘中,如果没有超线程,每个核心只有一个线程(进程).如果我错了,请纠正我.

Ale*_*rMP 18

线程与进程不同.一个进程可以有很多线程.线程是具有特定顺序的一系列命令.逻辑核心可以在命令序列上执行.操作系统将所有线程分配给所有可用的逻辑内核,如果线程数多于内核,则线程将以快速提示进行处理,并且内核可以非常快速地从一个线程切换到另一个线程.

当实际上OS在它们之间分配CPU时间时,它看起来像所有线程同时运行.

拥有多个内核的优势在于,将更少的并发线程放在一个内核上,减少线程之间的切换=更快的速度.

超线程在1个物理内核上创建2个逻辑内核,并使线程之间的切换更快.


Mar*_*tos 12

这基本上是正确的,有明显的限定符,大多数操作系统允许你同时执行比核心或线程更多的任务,它们通过交错执行指令来完成.

具有超线程的系统通常具有两倍于物理核心的硬件线程.


Ira*_*ter 6

术语线程通常用作操作系统概念的描述,该概念具有独立于其他线程执行的潜力.是否这样做取决于它是否等待某些事件(磁盘或屏幕I/O,消息队列),或者是否有足够的物理CPU(超线程或非线程)以允许它在其他非等待的情况下运行线程.

超线程是一个CPU供应商术语,意思是单个核心,可以在两次计算之间复用其注意力.考虑超线程核心的简单方法就好像你有两个真正的CPU,两者都比制造商所说的核心实际上要慢一些.