Comprendre le multithreading

Un programme peut effectuer des traitements longs qui vont "bloquer" l’application durant leur exécution. Pour éviter cela, le développeur peut créer une sorte de chemin d’exécution parallèle qui va prendre en charge ce traitement et ainsi délester l’exécuteur principal. Dans ce cas, le système d’exploitation Windows de Microsoft partage très rapidement le temps machine entre les différents flux, donnant l’illusion d’une exécution simultanée. On parle de système d’exploitation à temps partagé. Le contenu d’une file d’exécution peut enchaîner tous les traitements qu’elle souhaite sans se soucier du temps que cela prendra globalement.

Le système d’exploitation viendra l’interrompre périodiquement pour donner du temps à la file d’exécution suivante et ainsi de suite jusqu’à revenir sur elle pour qu’elle reprenne son traitement là où il avait été interrompu. Chaque interruption est précédée par une sauvegarde du contexte d’exécution qui sera restituée à la reprise suivante. On parle alors d’un multitâche préemptif. Certains systèmes très légers n’implémentent pas ce type de service. Ils exécutent les appels en boucle et c’est aux développeurs...

couv_RI4CAPOO.png

Découvrez 

le livre :

Aussi inclus dans nos :

Précédent
Introduction
Suivant
Multithreading et .NET