超线程不是银弹

首先有个概念上的区分,感觉硬件上的线程和软件并发领域的线程并不是一回事。

超线程技术是CPU厂商为了让用户充分利用CPU性能而开发的一种技术,可以简单的这样理解:线程是CPU计算的最小单位,每个线程在计算的时候都会独占一个计算机核心,现代的计算机性能很强,这样就会导致计算量很小的线程根本就不能完全利用一个核心的计算资源,这个时候超线程的概念就提出了,厂商想让两个瘦线程同时利用一个计算核心。

这就是超线程技术,这种技术有用的前提是多个非计算密集型线程在工作。厂商的通常实现是允许2个线程运行在一个物理核心上,这样在表面上看CPU核心数就Double了,这也就产生了逻辑核心的概念,跟物理核心对应。