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

  FORUM HardWare.fr
  Programmation
  C++

  [C] Liste chainée et mémoire partagée

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] Liste chainée et mémoire partagée

n°365292
Deadog
Dain Bramaged
Posté le 17-04-2003 à 17:21:17  profilanswer
 

Voila, j'aimerez savoir quelle solution *simple* vous avez déjà pu trouver pour pouvoir partager une liste chainée entre 2 processus ?
 
pke pour le moment je ne vois comme seul solution que de créer un nouveau segment pour chaque élément :/
 
y'a t'il un autre moyen de faire ça ?

mood
Publicité
Posté le 17-04-2003 à 17:21:17  profilanswer
 

n°365398
HelloWorld
Salut tout le monde!
Posté le 17-04-2003 à 18:11:44  profilanswer
 

Quel OS ?
T'es obligé d'utiliser des processus ? Pas possible avec des thread ?


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°365402
Taz
bisounours-codeur
Posté le 17-04-2003 à 18:15:37  profilanswer
 

cela dit, tu peux envisager un modèle client server ou ton application serveur dialogque par pipe avec les clients. c'est une gestion tres jacobine des données, meme si c'est lent, c'est tres efficace en terme d'utilisation.
 
bref on attend que tu spécifie ton OS pour t'indiquer quelle bibliotheque utilisé et te conseiller niveau sémaphore

n°365443
Deadog
Dain Bramaged
Posté le 17-04-2003 à 18:41:38  profilanswer
 

GNU/Linux ;)
 
en faite mon appli va se diviser en 2 par un fork, une gère une operation à faire en boucle et l'autre se contente d'infléchire sur les options au cour de l'opération de l'autre
 
actuellement tout marche en un seul processus mais j'aime pas du tout pke suivant les futurs améliorations ça va devenir invivable :D
j'ai déjà tout fait en liste chainé ...
 
en faite j'ai prit cette voix la pke c'est celle ki me paraissait la mieux adapté à ce ke je veux faire
 
c'est un soft ki gère un lcd sur port //, permettant d'y afficher diverses info système dessus
la partie "commune" au programme c'est le traitement de la configuration, le chargement des plugins (les infos systèmes seront récup par des plugins pour la modularité), etc ...
 
ensuite ça se sépare en 2, une partie gère le traitement des infos à affiché sur le lcd et à envoyer ensuite
cette partie est assez complexe pk'il faut traiter une string ki représente une ligne du lcd et ki indique qu'elle sont les infos à afficher, ensuite il faut récup les infos, et une fois toutes les lignes du lcd constitué on les envois au lcd (seulement ça aussi c'est assez complexe puisqu'il faut traiter le protocol de com avec le lcd, les divers effets graphique etc ...)
 
l'autre partie concerne simplement le gui, mais il faut ke le gui soit indépendants du traitement pke le soft doit pouvoir tourner sans gui (genre un daemon)
 
et de part la lignéarité d'un lcd (enchainement de ligne), un système de liste chainé c'est avéré le plus logic ;)
 
helloword > je fais pas encore bien la différence entre les deux :pt1cable: tu peux m'expliker ?
 
Taz > ça je le sens mal pke ça rajouterai une sacré couche à tout ça !
une couche de communication à gérer en plus :/


Message édité par Deadog le 17-04-2003 à 18:43:24
n°365512
mrbebert
Posté le 17-04-2003 à 19:12:30  profilanswer
 

Un thread correspond à flux d'exécution dans le même processus, donc dans le même espace mémoire, accédant aux même données (avec tous les problèmes que cela pose).
Alors que 2 processus différents "vivent" dans 2 espaces mémoire différents.
 
Sinon, sans aller jusqu'à créer un segment de mémoire partagé pour chaque élément de la liste, il y a peut être moyen de gérer toute la liste chainée dans un seul segment partagé [:figti]

n°365513
Taz
bisounours-codeur
Posté le 17-04-2003 à 19:12:45  profilanswer
 

ton application doit etre multi-thread
la référence http://www.llnl.gov/computing/tuto [...] /MAIN.html

n°365527
Deadog
Dain Bramaged
Posté le 17-04-2003 à 19:41:07  profilanswer
 

ok, merci :)
 
j'ai avoir un peu de lecture moi :sleep:

n°365680
HelloWorld
Salut tout le monde!
Posté le 17-04-2003 à 21:22:18  profilanswer
 

Oui les thread c'est tout indiqué.
Plus aucun probleme de partage memoire alors.
Attention cependant à ne pas modifier la liste pendant que l'autre la lit etc ... (=> exclusion mutuelle, accès concurrents ...)
Bon courage.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°365738
Deadog
Dain Bramaged
Posté le 17-04-2003 à 22:57:24  profilanswer
 

huuum, avec un "jeton" en mémoire ça devrait allé ?
genre déclarer un char, si il vaut 0 on peux écrire dans la mémoire, s'il vaut >0 on écrit pas ?

n°365739
Taz
bisounours-codeur
Posté le 17-04-2003 à 22:59:58  profilanswer
 

non, ça n'ira pas. utilises les mutex et semaphores de posix thread (man pthread_mutex_create) par exemple

mood
Publicité
Posté le 17-04-2003 à 22:59:58  profilanswer
 

n°365748
Deadog
Dain Bramaged
Posté le 17-04-2003 à 23:11:23  profilanswer
 

++Taz a écrit :

non, ça n'ira pas. utilises les mutex et semaphores de posix thread (man pthread_mutex_create) par exemple


 
 
oui, c ce ke je viens de voir dans ce ke tu ma filé :D
j'avais aps encore commencer à lire ;)


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

  [C] Liste chainée et mémoire partagée

 

Sujets relatifs
Liste déroulanteevenement sur <option> d'une liste deroulante
[HTML] formulaire et liste deroulanteListe déroulante avec cadre
[JAVA] afficher une liste de noms de classes[C/C++] Malloc et occupation mémoire sous Win2000
[MySQL] liste chainee ??--LIBERATION MEMOIRE-- Garbage collector
Zone de liste modifiable et sous formulaires 
Plus de sujets relatifs à : [C] Liste chainée et mémoire partagée


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