Que signifie un thread simple et non bloquant dans JavaScript?
Que signifie un thread simple et non bloquant dans JavaScript?
-
Objectifs
-
Présentation
- Pour comprendre ce qu’est un thread, il est nécessaire de définir ce qu’est un processus. Un processus est un programme en cours d’exécution au sein d’un environnement.
- Le thread, ou fil d’exécution en français, est donc un de ces processus et il permet d’exécuter des instructions de langage machine au sein du processeur.
- La spécificité du thread est qu’il laisse la possibilité à deux instances en train d’interpréter le même programme de s’exécuter en simultané au sein du même processeur.
- En utilisant un langage traditionnel comme C ou Java, le programme fait parfois des choses qui prennent un certain temps pour que le CPU calcule.
- Pendant ce temps, on ne peut pas exécuter d’autre code que les instructions actuelles. Le programme peut être gelé et l’interface utilisateur risque de ne pas répondre du tout le temps que cette opération se termine.
- JavaScript est un langage à un seul thread car, tout en exécutant du code sur un seul thread, il peut être très facile à implémenter car nous n’avons pas à gérer les scénarios compliqués qui surviennent dans l’environnement multi-thread comme le blocage.
-
Différence entre Thread et Processus
| Processus | Thread | |
|---|---|---|
| Définition | Un programme en cours d’exécution s’appelle un processus. | Un thread est une petite partie d’un processus. |
| La communication | La communication entre deux processus est coûteuse et limitée. | La communication entre deux threads est moins coûteuse que celle du processus. |
| Multitâche | Le multitâche basé sur les processus permet à un ordinateur d’exécuter deux ou plusieurs programmes simultanément. | Le multitâche basé sur les threads permet à un programme unique d’exécuter deux threads ou plus simultanément. |
| Espace d’adressage | Chaque processus a son espace d’adressage distinct. | Tous les threads d’un processus partagent le même espace d’adressage que celui d’un processus. |
| Tâche | Les processus sont des tâche lourde. | Les threads sont des tâches légères. |
| Exemple | Vous travaillez sur un éditeur de texte, il fait référence à l’exécution d’un processus. | Vous imprimez un fichier à partir d’un éditeur de texte tout en travaillant dessus, ce qui ressemble à l’exécution d’un thread dans le processus. |
