Il ne faut pas confondre la technologie Hyperthreading incluse dans certains processeurs Intel avec les threads. Cette technologie permet en effet aussi bien l'exécution simultanée de processus distincts que de threads. Toute machine comportant des processeurs multiples (SMP) ou des processeurs intégrant l'HyperThreading permet l'exécution plus rapide de programmes utilisant des threads aussi bien que des processus multiples.
Les systèmes d'exploitation mettent en œuvre généralement les threads.
Certains langages de programmation, tels que Smalltalk et certaines implémentations de Java, intégrent un support pour les threads implémentés dans l'espace utilisateur (green threads), indépendamment des capacités du système d'exploitation hôte. La plupart des langages (Java sur la plupart des systèmes d'exploitation, C# .NET, Ruby, ...) utilisent des extensions du langage ou des bibliothèques pour utiliser directement les services de multithreading du système d'exploitation, mais de façon portable (threads natifs). Enfin, des langages comme Haskell utilisent un système hybride à mi-chemin entre les deux approches. A noter que, pour des raisons de performances en fonction des besoins, la plupart des langages permettent d'utiliser au choix des threads natifs ou des green threads (notamment via l'utilisation de fibres).
En programmation orientée objet on parle de classe réentrante lorsque des instances distinctes de cette classe peuvent exister simultanément dans différents threads.