Prozessorkerne sind heute sehr komplexe Gebilde. Sie bestehen aus vielen einzelnen Modulen, die für unterschiedliche Aufgaben zuständig sind. Nicht jedes Programm lastet ständig alle dieser Module voll aus. Wenn beispielsweise ein Programm gerade nichts mit Fließkommazahlen zu rechnen hat, dann liegt das entsprechende Modul brach. Wenn man Multithreading aktiviert, und wenn auch tatsächlich gerade viele Prozesse gleichzeitig auf Prozessorleistung warten, dann versucht der Prozessor, solche brachliegenden Module sinnvoll zu nutzen, indem er auf einem Kern zwei Prozesse gleichzeitig laufen lässt. Dabei kann es vorkommen, dass diese Prozesse sich fast nicht gegenseitig stören, und somit nahezu die doppelte Anzahl Prozesse gleichzeitig laufen kann. Es kann natürlich auch vorkommen, dass zwei Prozesse gleichzeitig das selbe Modul nutzen möchten, in diesem Fall muss einer kurz warten. Daher läuft ein einzelner Prozess schneller, wenn er der einzige Prozess auf dem Prozessorkern ist, aber alles ist insgesamt schneller, wenn man Multithreading aktiviert, jedoch nicht so schnell, als wenn man wirklich die doppelte Anzahl Prozessorkerne hätte.