El multithreading y el hyperthreading son a primera vista muy similares: ambos se encargan de distribuir y procesar eficientemente los threads en los núcleos de la CPU. Sin embargo, el hyperthreading es una subcategoría del multithreading, y también se le llama multithreading simultáneo (SMT). Para entender el multithreading, es importante saber que los threads son colas de instrucciones que se procesan de forma diferente según el hardware y el software.
Con el multithreading, varias colas de instrucciones se gestionan simultáneamente. Mientras que los métodos multithreading, como el Switch-on-Event-Multithreading y el Time-Slice-Multithreading son pseudo-simultáneos, ya que los threads no se ejecutan simultáneamente, el multithreading simultáneo, es decir, el hyperthreading, representa el verdadero proceso simultáneo.
Además, el hyperthreading es una tecnología SMT compatible con hardware, mientras que el multithreading puede ser compatible exclusivamente con programas y software.