Auf Hardware-Ebene gibt es keine "Hauptthreads". Müsste SMT erst bei jedem Thread den Rang prüfen, könnte es nicht schnell genug schalten und allgemein würde ein System mit derartiger Priorisierung schnell einfrieren, wenn ein hochrangiger Thread die Ausführung aller anderen verhindern würde. Desweiteren Kostet die Verwaltung vieler Threads einer Anwendung einfach Rechenzeit und durch das Vorhalten weiterer Daten reduziert für andere Tasks verfügbare Cache-Menge. All das lohnt sich, wenn andernfalls Rechenzeit brach liegt, während aufwendige Aufgaben in der Warteschleife liegen. Aber wenn die Recheneinheiten bereits vollständig ausgelastet sind oder wenn die Abspaltung weiterer Aufgaben in zusätzliche Threads beinahe genauso viel Synchronisationsarbeit im Mutterhtread generiert, wie eine direkte Berechnung in diesem gekostet hätte, dann reduziert SMT die effektive Leistung. Und je höher der SMT-Faktor, deso eher tritt dieser Fall ein.