Multi process, multi thread

hobbes Messages postés 23 Date d'inscription mercredi 12 février 2003 Statut Membre Dernière intervention 7 novembre 2003 - 24 févr. 2003 à 11:07
cs_vieuxLion Messages postés 455 Date d'inscription samedi 26 octobre 2002 Statut Membre Dernière intervention 6 avril 2004 - 24 févr. 2003 à 11:52
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

cs_vieuxLion Messages postés 455 Date d'inscription samedi 26 octobre 2002 Statut Membre Dernière intervention 6 avril 2004 8
24 févr. 2003 à 11:52
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 !?
0
Rejoignez-nous