Processus légers (threads)

Objectif :
Avoir plusieurs processus qui partagent le même espace d'adressage.

Principe :
Des processus légers sont des "copies" (ou instantiations)  d'un même processus avec leur propre compteur ordinal et leur pile mais ils partagent l'espace d'adressage, les fichiers, les processus fils, etc. Quand un processus léger se bloque, un autre processus léger (instance) du même processus peut s'exécuter.
Contrainte: L'accès à la mémoire partagée (accès critique car partagé) est à la charge du programmeur.

Exemple du serveur de fichier:
Sans processus légers:
Un serveur de fichier traite des demandes déposées dans un tampon par des clients. Si le serveur ne peut accéder à un fichier pour servir une requète d'un client il se bloquera et plus aucune requête ne pourra être satisfaite tant que le serveur reste bloqué.
Avec processus légers: Si un processus léger serveur se bloque, un autre peut être actif pour traiter la requête suivante (ils partagent le même tampon).



suivant     plan