A voir également:
- Multithreading vs multitasking
- Udp vs tcp - Guide
- Samsung a15 vs a16 - Accueil - Téléphones
- Gb vs go ✓ - Forum Matériel & Système
- X86 vs x64 ✓ - Forum Windows
- Mkv vs vob ✓ - Forum Format et connectique vidéo
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.
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.
Encore une tite precision, au niveau de l'execution. Pour les process, ya generalement un scheduler qui donne la main plus ou moins longtemps selon la priorite du process.
C'est pareil pour les threads ?