Fork() et ressource partagée [Résolu]

Signaler
Messages postés
51
Date d'inscription
dimanche 13 février 2005
Statut
Membre
Dernière intervention
28 décembre 2006
-
Messages postés
51
Date d'inscription
dimanche 13 février 2005
Statut
Membre
Dernière intervention
28 décembre 2006
-
Bonjour,


Je voudrais créer un programme ou je souhaite partager une ressource entre un processus père et un processus fils.


j'ai ma ressource déclarée comme ceci :

int ressource = 0;


ensuite dans mon prog pricipal j'ai :


   if ( pid == 0 )

   {

        ressource++;

   }

   else

   {

         ressource++;

   }


seulement ma ressource n'est pas partagée entre les deux processus, j'ai l'impression qu'elle est seulement dupliquée
Quelqu'un comprend pourquoi ?
Merci

4 réponses

Messages postés
510
Date d'inscription
lundi 27 novembre 2006
Statut
Membre
Dernière intervention
5 juillet 2009
2
Après un fork (); les processus fils obtiennent une copie de la zone mémoire du processus parent, et travaillent uniquement sur cette zone mémoire.

Pour partager des ressources, il faut utiliser la mémoire partagée.
Messages postés
51
Date d'inscription
dimanche 13 février 2005
Statut
Membre
Dernière intervention
28 décembre 2006

il faut donc utiliser un thread , c'est ca ?
Messages postés
510
Date d'inscription
lundi 27 novembre 2006
Statut
Membre
Dernière intervention
5 juillet 2009
2
Oui, mais il me semble que après un fork on a également possibilité de travailler sur la mémoire partagée.
Messages postés
51
Date d'inscription
dimanche 13 février 2005
Statut
Membre
Dernière intervention
28 décembre 2006

ah ben c'est justement ce que je cherchais. ( et tu m'as convaincu avec ton post précédent :p )