Multi-tasking et le multi-threading

Fermé
Signaler
-
 Léo -
Bonjour,

Presque tout est dans le titre, quel est la différence entre le Multi-tasking et le multi-threading ?

Merci

6 réponses

Pour clarifier, il y a 4 termes qui sont parfois mal utilisés et on pourrait parfois penser à tort qu'ils sont synonymes alors que ce n'est pas le cas: mutliprogramming, multitasking, multithreading et multiprocessing.
1) Multiprogramming, c'est le chargement en mémoire de plusieurs programmes (ou taches ou process) qui vont être exécutés de facon concurrente par le CPU. L'allocation du CPU aux différents programmes ne se fait pas de facon prédéterminée (par exemple avec l'allocation d'un certain temps CPU pour chaque programme) mais dépend des interruptions des programmes eux meme. Si A et B sont deux programmes lorsque A s'interrompt (parcequ'il attend une entrée utilisateur par exemple) il y a interruption et le temps CPU pourra être alloué au programme B.

2) Multitasking, c'est une évolution du multiprogramming, maintenant ce ne sont plus les interruptions qui decident qui peut prendre la main sur le CPU mais un superviseur qui accorde un temps CPU prédéfini à chaque programme successivement. Si A et B sont deux programmes le superviseur accorde par exemple successivement 1ms à A puis à B puis à A de nouveau etc...

3) Multithreading, c'est une évolution du multitasking. Pour le multitasking ce sont des programmes à priori indépendant qui s'exécutent et chacun doit garder son propre espace mémoire (le swaping permet de charger et enregister à chaque début et fin de temps CPU le contenu de l'espace mémoire du programme). Avec le multithreading ce sont les applications elles même qui sont découpées en plusieurs threads lors du développement et peuvent partager un même espace mémoire.

4) Multiprocessing, à priori si on fait du multiprogramming, multitasking ou multithreading avec plus d'un CPU alors c'est du multiprocessing. Avec un seul CPU on donne seulement l'illusion que plusieurs taches sont réalisées en même temps en partageant le temps CPU de facon plus ou moins efficace, avec le multiprocessing il y a vraiment plusieurs programmes qui s'executent en même temps.
7
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41989 internautes nous ont dit merci ce mois-ci

le thread est un processus au meme titre que explorer.exe dans windows, je ne crois pas que la réponse soit juste. Si une personne pouvait m'expliquer la différence réellement dans le sens utilisateur de programme.

please, merci d'avance
Oui je veux bien avoir une réponse détaillé, car j'ai vaguement des connaissances sur les 2, mais je ne suis pas sure de ne pas confondre et cela me permettrait de vraiment clarifier mon esprit la dessus.
et si je comprend se que tu dis précédemment, le multi-tread et le multi-task sont les lié ensemble, mais a quel niveau je ne comprend pas et malgré mes recherche sur internet je n'arrive pas associé chaque information ensemble pour un faire une explication claire.
Messages postés
742
Date d'inscription
mercredi 4 juin 2008
Statut
Membre
Dernière intervention
5 décembre 2010
33
Bah ou en effet, ils sont fortement lié.
Le multi-tâche, c'est le fait que le système permet l'execution de plusieurs tâches simultannéement.
Le multi-thread, c'est ce qui permet à ton système (en fait à ton processeur) de gérer les priorités. En fait, lorsqu'il y a plusieurs tâches en même temps, ton processeur ne sait gèrer qu'une opération à la fois (bien sûr c'est très rapide) et donc le multi-thread dit à ton processeur quel tâche a besoin de ressources en priorité.

Pour exemple, au cours de ta journée, tu executes plusieurs tâches, parfois plusieurs en même temps mais tu ne mélanges pas tout et tu as donc des priorités. C'est la même chose pour ton processeur. Le but, c'est de donner à l'utilisateur que l'ordinateur execute toutes ces tâches en même temps alors qu'en réalité les tâches sont executés selon les priorités. Mais tout celà tu ne le voit pas bien sûr ;)

J'espère que tu comprends j'avoue que la différence est assez difficile.
Messages postés
742
Date d'inscription
mercredi 4 juin 2008
Statut
Membre
Dernière intervention
5 décembre 2010
33
Multi-tasking c'est un système multi-tâches
Multi-threading c'est un système multi-utilisateurs (en fait multi-sessions)

Mais je ne suis pas sûr pour Multi-threading
Messages postés
742
Date d'inscription
mercredi 4 juin 2008
Statut
Membre
Dernière intervention
5 décembre 2010
33
En fait non j'suis bête... ^^
Multi-threading c'est un système qui execute plusieurs tâches en même temps sans que l'utilisateur remarque quoi que ce soit. Le système gère par lui même quel processus utilise les ressources du système.

Je peut t'expliquer plus en profondeur si tu le souhaites