À retenir
- Partage la mémoire et les ressources de son processus parent.
- Beaucoup plus rapide à créer et à arrêter qu'un processus classique.
- Permet d'exécuter des tâches en parallèle sur les processeurs modernes.
Un processus léger est une petite unité de travail qui s'exécute à l'intérieur d'un programme principal. Contrairement à un processus standard qui est isolé, plusieurs processus légers partagent les mêmes ressources (comme la mémoire), ce qui leur permet de collaborer très rapidement pour effectuer plusieurs tâches simultanément.
Étymologie
Il s'agit d'une traduction directe de l'anglais lightweight process. Le terme souligne la faible consommation de ressources par rapport à un processus classique. Il est techniquement très proche du concept de thread (fil d'exécution), qui évoque l'idée d'un fil que l'on suit au sein d'un tissu plus large.
Exemples d'usage
- Dans un navigateur web, un processus léger peut gérer l'affichage du texte pendant qu'un autre télécharge une image en arrière-plan.
- Dans un logiciel de traitement de texte, un fil s'occupe de la saisie au clavier tandis qu'un autre vérifie l'orthographe en temps réel.
Cas d'usage
On l'utilise principalement dans le développement d'applications qui doivent rester réactives (interface graphique), dans les serveurs web pour traiter de nombreuses requêtes en même temps, et dans le calcul scientifique pour diviser de grosses opérations.
Bonnes pratiques
Comme ces processus partagent la même mémoire, il est crucial d'utiliser des mécanismes de protection (verrous ou mutex) pour éviter que deux processus n'essaient de modifier la même information au même moment, ce qui provoquerait des erreurs imprévisibles.
Synonymes
Antonymes
Conseil
Pour bien comprendre, imaginez une cuisine (le processus) : les processus légers sont les différents cuisiniers qui partagent le même plan de travail et les mêmes ingrédients pour préparer un repas plus vite. S'ils ne se coordonnent pas, ils risquent de se gêner !
Questions fréquentes
Quelle est la différence majeure avec un processus standard ?
L'isolation : un processus standard a sa propre zone mémoire privée, alors que les processus légers partagent tout entre eux au sein d'un même programme.
Un processus léger peut-il faire planter tout le programme ?
Oui, car s'il corrompt la mémoire partagée ou s'arrête brutalement, cela affecte souvent tous les autres fils du même programme.