Accueil Matériel Qu'est-ce que le multithreading? - définition de techopedia

Qu'est-ce que le multithreading? - définition de techopedia

Table des matières:

Anonim

Définition - Que signifie le multithreading?

Le multithreading est un type de modèle d'exécution qui permet à plusieurs threads d'exister dans le contexte d'un processus de sorte qu'ils s'exécutent indépendamment mais partagent leurs ressources de processus. Un thread conserve une liste d'informations pertinentes pour son exécution, y compris la planification des priorités, les gestionnaires d'exceptions, un ensemble de registres CPU et l'état de la pile dans l'espace d'adressage de son processus d'hébergement.

Le multithreading est également appelé threading.

Techopedia explique le multithreading

Le thread peut être utile dans un système monoprocesseur en permettant au thread d'exécution principal de répondre aux entrées de l'utilisateur, tandis que le thread de travail supplémentaire peut exécuter des tâches de longue durée qui ne nécessitent pas d'intervention de l'utilisateur en arrière-plan. Le threading dans un système multiprocesseur se traduit par une véritable exécution simultanée des threads sur plusieurs processeurs et est donc plus rapide. Cependant, cela nécessite une programmation plus minutieuse pour éviter les comportements non intuitifs tels que les conditions de course, les blocages, etc.

Les systèmes d'exploitation utilisent le filetage de deux manières:

  • Multithreading préemptif, dans lequel le changement de contexte est contrôlé par le système d'exploitation. La commutation de contexte peut être effectuée à un moment inapproprié. Par conséquent, un thread de priorité élevée peut être indirectement préempté par un thread de faible priorité.
  • Multithreading coopératif, dans lequel la commutation de contexte est contrôlée par le thread. Cela peut entraîner des problèmes, tels que des blocages, si un thread est bloqué en attendant qu'une ressource devienne libre.

Les versions 32 et 64 bits de Windows utilisent le multithreading préventif dans lequel le temps processeur disponible est partagé de telle sorte que tous les threads obtiennent une tranche de temps égale et sont traités en mode file d'attente. Pendant le changement de thread, le contexte d'un thread préempté est stocké et rechargé dans le thread suivant de la file d'attente. La tranche de temps est si courte que les threads en cours d'exécution semblent s'exécuter en parallèle.

Cette définition a été écrite dans le contexte de l'architecture informatique
Qu'est-ce que le multithreading? - définition de techopedia