|
Ce n'est pas un exemple tout à fait précis de multithreading. Bien qu'il puisse * sembler * que Microsoft Word fait les deux choses en même temps, il est plus probable d'utiliser une combinaison de:
* E / S asynchrone: Microsoft Word envoie une demande de lecture du fichier et une demande d'impression du document. Il n'attend pas l'une ou l'autre des opérations se termine avant de continuer. Le système d'exploitation gère la lecture et l'impression en arrière-plan tandis que Word continue de répondre à l'utilisateur.
* Processus multiples: Les systèmes d'exploitation modernes sont très bons pour jongler avec plusieurs tâches. Il est possible que la lecture de fichiers se produise dans un processus distinct que l'impression, ce qui donne l'illusion d'une action simultanée.
True multithreading:
Le multithreading dans un seul processus (comme Word) impliquerait:
* plusieurs threads: Imaginez que le mot a plusieurs petits programmes (fils) qui courent à l'intérieur.
* Ressources partagées: Ces threads partageraient la même mémoire et les mêmes ressources, permettant une communication très efficace entre eux.
* Exécution simultanée: Les threads pourraient potentiellement exécuter des instructions en même temps (sur des processeurs multicœurs modernes).
Exemple de multithreading en mot:
* vérification orthographique: Word peut avoir un fil dédié à la vérification de l'orthographe en arrière-plan lorsque vous tapez. Cela vous permet de continuer à taper sans attendre la fin du vérificateur orthographique.
* Autosave: Un autre fil pourrait être en arrière-plan pour enregistrer votre document à intervalles réguliers.
la différence clé:
L'exemple que vous avez fourni met en évidence une idée fausse commune. Bien que les systèmes d'exploitation soient très bons pour créer l'illusion de tâches simultanées, cela est souvent réalisé grâce à des E / S asynchrones et à plusieurs processus. Le véritable multithreading implique plusieurs threads indépendants dans un seul processus, offrant un contrôle et une efficacité encore plus fins.
|