Pour augmenter la vitesse des cœurs du processeur sans avoir à modifier la vitesse d’horloge, le multithreading permet au CPU de traiter plusieurs tâches simultanément. Pour être plus précis : plusieurs threads sont traités en même temps. Un thread peut être compris comme un élément d’un processus. Les programmes peuvent être divisés en processus et ces processus à leur tour en threads individuels. Chaque processus est constitué d’au moins un thread.
Les processus sont généralement exécutés de manière séquentielle, c’est-à-dire l’un après l’autre. Ce n’est pas optimal, car de cette manière, les tâches fastidieuses bloquent le matériel. Si un autre processus est nécessaire spontanément, il doit quand même attendre son tour. Avec le multithreading, plusieurs threads sont traités simultanément. Bien que cette affirmation ne soit également que partiellement correcte : la simultanéité réelle ne peut que rarement être garantie, mais elle peut être atteinte en attendant.
Mais la pseudo-simultanéité permet également d’améliorer les performances : le système organise et calcule les threads de manière si intelligente que l’utilisateur a l’impression d’un traitement simultané. Cette forme de concurrence ne doit pas être confondue avec les possibilités des processeurs multi-cœurs. Si le système comporte plusieurs microprocesseurs, plusieurs processus sont également traités simultanément.
Pour que le multithreading soit efficace, le logiciel doit y être préparé. Si les développeurs ne divisent pas ou ne peuvent pas diviser leurs programmes en plusieurs threads, la technologie ne fonctionnera pas. Les joueurs, par exemple, constatent souvent une baisse des performances lorsque le multithreading est activé. Dans ce cas, les jeux informatiques ne sont pas conçus pour cette technologie. La tentative du système de traiter plusieurs threads simultanément a alors un effet néfaste.