Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1912 connectés 

  FORUM HardWare.fr
  Programmation
  C

  stockage de tableau de structure en mémoire partagée

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

stockage de tableau de structure en mémoire partagée

n°1976972
ytreza9
Posté le 24-03-2010 à 17:57:03  profilanswer
 

Bonjour,
 
Je suis occupée de réaliser une application multi thread du type producteur-consommateur avec un buffer en mémoire partagée entre les threads producteurs et les threads consommateurs.
J'ai quelques soucis avec l'écriture en mémoire partagée:
Je crée mon segment de mémoire partagée:

Code :
  1. int buffer;
  2. buffer = shmget(IPC_PRIVATE, n*sizeof(struct MyStruct, IPC_CREAT|IPC_EXCL|00660); //n est défini plus faut et fixe !


 
pour chaque thread qui veut faire une opération de lecture ou d'écriture, j'attache le segment de mémoire partagée:

Code :
  1. struct MyStruct *memo;
  2. memo = (struct Vote *)shmat(buffer, 0, SHM_W); //pour l'écriture
  3. struct MyStruct dataToAdd;
  4. //initialisation de dataToAdd
  5. //et puis la j'veux mettre dataToAdd en mémoire partagée


 
Vu que je veux faire un buffer, je veux utilisé ma mémoire partagée comme un tableau de structure ...  
J'ai un int qui indique l'index du tableau auquel il faut écrire .
Comment faire???
 
Merci d'avance

mood
Publicité
Posté le 24-03-2010 à 17:57:03  profilanswer
 

n°1976974
Un Program​meur
Posté le 24-03-2010 à 18:00:31  profilanswer
 

Pourquoi utiliser shm si c'est pour faire du multithread?  (shm permet de partager la memoire entre processus, les thread -- par definition -- partagent toute leur memoire).


---------------
The truth is rarely pure and never simple (Oscar Wilde)
n°1976976
ytreza9
Posté le 24-03-2010 à 18:03:15  profilanswer
 

oui mais malheureusement, c'est dans le cadre d'un cours et on nous demande d'utiliser la mémoire partagée

n°1977124
loracle_lu​nique
Un blog pour une solution
Posté le 25-03-2010 à 10:16:55  profilanswer
 

Mais du coup je me demande si ton exo ne doit pas être fait avec des processus et non pas des threads. Car si c'est présicé d'utiliser la mémoire partagée j'aurai un doute...


---------------
Je vous attends mes disciples sur Idées pour un monde meilleur

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  stockage de tableau de structure en mémoire partagée

 

Sujets relatifs
Comment allouer de la mémoire pour un tableau (malloc)VBA: combiner 2 tableaux excel pour avoir un troisième tableau complet
memoire, variable et erreur de segmentationCentrer tableau mais aligner texte à gauche
[java] probleme de transfert de tableau de bytePerl - Tableau associatif Hash
Structure conditionnelle avec ELSE IF JavascriptRemplir un tableau à plusieurs dimensions
Struts accéder à un tableau avec bean:write 
Plus de sujets relatifs à : stockage de tableau de structure en mémoire partagée


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR