Multi process, multi thread

Signaler
Messages postés
23
Date d'inscription
mercredi 12 février 2003
Statut
Membre
Dernière intervention
7 novembre 2003
-
Messages postés
455
Date d'inscription
samedi 26 octobre 2002
Statut
Membre
Dernière intervention
6 avril 2004
-
Bonjour,

je cherche quels sont les avantages et les inconvennients entre le multi thread et le multi process lorsque l on programme en C++ sous visual.

Merci

1 réponse

Messages postés
455
Date d'inscription
samedi 26 octobre 2002
Statut
Membre
Dernière intervention
6 avril 2004
8
bonjour !
La question assez large
l'avis de plusieurs est le bienvenu

D'abord un rappel, un process contient au moins un thread et peut en contenir plusieurs

Contre le multi process :
le multi process est plus gourmand en ressources :
création du process supplémentaire + espace mémoire virtuel + le thread pricipal
Si l'on doit communiquer entre les process, exige des appels IPC (inter processus call) plus lourds à mettre en oeuvre
Synchronisation difficile inter process
Passage de paramètres par marshalling ou copie (WM_COPYDATA) ou fichiers mappés en mémoire
Pour :
Il sépare les espaces mémoires.. bien en cas de crash du process annexe
En cas de process distribué sur une autre machine... on passe au RPC

Contre le multi thread :
La mémoire est partagée et les accès doivent être synchronisés (Sections Critiques, Sémaphores,...)
Limité au process, donc en particulier à la machine

Pour :
Les perfs, la communication triviale au sein du même process

j'espère que ça aide !?