Un processeur est dit
multithread s'il est capable d'exécuter efficacement plusieurs
threads simultanément. Contrairement aux systèmes
multiprocesseurs (tels les systèmes
multi-cœur), les threads doivent partager les ressources d'un unique cœur : les unités de traitement, le cache processeur et le
translation lookaside buffer ; certaines parties sont néanmoins dupliquées : chaque
thread dispose de ses propres registres et de son propre pointeur d'instruction. Là où les systèmes multiprocesseurs incluent plusieurs unités de traitement complètes, le
multithreading a pour but d'augmenter l'utilisation d'un seul cœur en tirant profit des propriétés des
threads et du
parallélisme au niveau des instructions. Comme les deux techniques sont complémentaires, elles sont parfois combinées dans des systèmes comprenant de multiples processeurs
multithreads ou des processeurs avec de multiples cœurs
multithreads.