Il Multithreading e l’Hyper-Threading sono, a prima vista, molto simili: entrambi hanno il compito di elaborare e dividere i thread nei core della CPU. L’Hyper-Threading è, comunque, una sottocategoria del procedimento Multithreading e viene anche chiamato multithreading simultaneo(SMT). Per comprendere cosa sia il Multithreading è importante sapere che i thread sono stringhe o code di comandi che, a seconda dell’hardware o del software, vengono elaborati in modi differenti.
Con il Multithreading vengono elaborate più stringhe o code di comandi nello stesso tempo. Ma, mentre in procedimenti multithreaded come multithreading Switch-on-Event e multithreading Time-Slice, si può parlare solo di pseudo-simultaneità, poiché i thread non funzionano in parallelo, con il multithreading simultaneo (SMT), ossia con l’Hyper-Threading, i thread vengono elaborati veramente in simultanea. Inoltre, l’Hyper-Threading è una tecnologia SMT che viene supportata dall’hardware, mentre il Multithreading è supportato esclusivamente dal software.