teo*_*han 16 multithreading multicore
说,如果我有这样的处理器这样它说#核= 4,#线程= 4,不支持超线程.
这是否意味着我可以同时运行4个程序/进程(因为核心只能运行一个线程)?或者这是否意味着我可以同时运行4 x 4 = 16程序/进程?
从我的挖掘中,如果没有超线程,每个核心只有一个线程(进程).如果我错了,请纠正我.
Ale*_*rMP 18
线程与进程不同.一个进程可以有很多线程.线程是具有特定顺序的一系列命令.逻辑核心可以在命令序列上执行.操作系统将所有线程分配给所有可用的逻辑内核,如果线程数多于内核,则线程将以快速提示进行处理,并且内核可以非常快速地从一个线程切换到另一个线程.
当实际上OS在它们之间分配CPU时间时,它看起来像所有线程同时运行.
拥有多个内核的优势在于,将更少的并发线程放在一个内核上,减少线程之间的切换=更快的速度.
超线程在1个物理内核上创建2个逻辑内核,并使线程之间的切换更快.
术语线程通常用作操作系统概念的描述,该概念具有独立于其他线程执行的潜力.是否这样做取决于它是否等待某些事件(磁盘或屏幕I/O,消息队列),或者是否有足够的物理CPU(超线程或非线程)以允许它在其他非等待的情况下运行线程.
超线程是一个CPU供应商术语,意思是单个核心,可以在两次计算之间复用其注意力.考虑超线程核心的简单方法就好像你有两个真正的CPU,两者都比制造商所说的核心实际上要慢一些.