Multithreading vs multitasking
Poulco
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
Poulco Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Poulco Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Salut,
Quelles sont la/les differences entre le multithreading et le multitasking ?
A+
Quelles sont la/les differences entre le multithreading et le multitasking ?
A+
1 réponse
-
multitasking (ou multi-processing):
Chaque task (ou process) a sa propre zone de mémoire, séparée des autres process.
Lorsque le microprocesseur passe d'un process à l'autre, le changement de contexte est lourd (sauvegarde de la pile d'exécution, des registres, changement de mapping mémoire, swapping éventuel), etc.
Multithreading:
Les threads fonctionnent (généralement) à l'intérieur d'un même process. Ils partagent de nombreuses choses (handles, mémoire).
Le changement de contexte d'un thread à un autre est beaucoup plus léger (pile et registres seulement).
Pour une machine monoprocesseur, c'est donc beaucoup plus facile de faire fonctionner à la fois plusieurs threads et de passer de l'un à l'autre, que de faire fonctionner plusieurs process.
Quand tu as plusieurs tâches à faire à la fois, c'est donc en principe plus économique d'utiliser plusieurs threads que plusieurs process.
Inconvénients des threads: c'est souvent beaucoup plus difficile à déboguer.