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   -
Salut,

Quelles sont la/les differences entre le multithreading et le multitasking ?

A+
A voir également:

1 réponse

sebsauvage
 
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.
0
Poulco Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour le coup de main.
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 ?
0