Question

Dans quelles langues l'hyper-threading peut-il être implémenté? Est-ce seulement une partie des systèmes orientés objet ou peut-il être implémenté en C?

Merci.

Était-ce utile?

La solution

Toute langue et tout environnement d'exécution prenant en charge les threads prendront en charge l'hyperthreading.

L’hyper-threading est un moyen de multiplexer une CPU entre plusieurs threads. Il n’existe qu’une seule CPU réelle, mais le système d’exploitation peut la visualiser sous forme de deux CPU. Deux threads peuvent donc y être programmés. Les blocages de la CPU sur un thread (attente de mémoire, opérations FPU longues, etc.) permettent à la CPU d’exécuter du code depuis l’autre thread.

Plus d'informations sur l'hyper-threading sur Wikipedia .

Autres conseils

L’hyperthreading est généralement synonyme d’avoir plus de processeurs dans un système. Même si votre langue ne prend pas en charge les threads, il est toujours possible de faire en sorte que votre programme crée une autre copie de lui-même ou des processus de travail qui seront (si les systèmes d'exploitation le prennent en charge) équilibrés par rapport aux processeurs disponibles.

Vous devez rechercher le support des threads dans votre langue, mais sachez que les threads peuvent facilement compliquer votre programme et peuvent rendre difficile la recherche de bogues, car le code peut être exécuté de manière asynchrone.

La réponse à votre question est donc "probablement, mais ça dépend".

En ce qui concerne votre autre question, vous pouvez facilement implémenter plusieurs threads en C à nouveau en fonction de votre support d'exécution et de votre compilateur. Par exemple, les extensions OpenMP http://fr.wikipedia.org/wiki/OpenMP pourraient être utiles. pour vous.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top