Fork() et ressource partagée

Résolu
iam_myst Messages postés 51 Date d'inscription dimanche 13 février 2005 Statut Membre Dernière intervention 28 décembre 2006 - 4 déc. 2006 à 22:26
iam_myst Messages postés 51 Date d'inscription dimanche 13 février 2005 Statut Membre Dernière intervention 28 décembre 2006 - 4 déc. 2006 à 23:36
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
A voir également:

4 réponses

Bling 182 Messages postés 510 Date d'inscription lundi 27 novembre 2006 Statut Membre Dernière intervention 5 juillet 2009 3
4 déc. 2006 à 23:03
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.
3
iam_myst Messages postés 51 Date d'inscription dimanche 13 février 2005 Statut Membre Dernière intervention 28 décembre 2006
4 déc. 2006 à 23:08
il faut donc utiliser un thread , c'est ca ?
0
Bling 182 Messages postés 510 Date d'inscription lundi 27 novembre 2006 Statut Membre Dernière intervention 5 juillet 2009 3
4 déc. 2006 à 23:22
Oui, mais il me semble que après un fork on a également possibilité de travailler sur la mémoire partagée.
0
iam_myst Messages postés 51 Date d'inscription dimanche 13 février 2005 Statut Membre Dernière intervention 28 décembre 2006
4 déc. 2006 à 23:36
ah ben c'est justement ce que je cherchais. ( et tu m'as convaincu avec ton post précédent :p )
0
Rejoignez-nous