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

  FORUM HardWare.fr
  Programmation
  Ada

  ADA protected ? on se pose des questions ???

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

ADA protected ? on se pose des questions ???

n°272690
shinji
Posté le 19-12-2002 à 11:46:48  profilanswer
 

On a une variable cache : tableau de chaines unbounded_string.
Plusieurs taches partagent cette variable.
Le cache est protected pour eviter les acces concurrents
On a donc fait une fonction pour recuperer une chaine du cache et une procedure pour modifier le cache.
Toutefois on se demande si ca marche car la fonction renvoit un unbounded_string aui est en fait un pointeur sur la zone memoire.
Donc si une lecture est lancee, elle renvoit un pointeur sur l'espace memoire et si avant de lire le contenu pointe on a une procedure modifier alors la zone memoire sera modifiee.
 
On pense donc faire deux procedures. On se demande alors quel est l'interet des fonctions avec des protected vu que le probleme doit se rencontrer souvent.
En plus ca bloque tout le tableau cache.
 
Une autre solution serait de definir le cache comme un tableau de structures "contenu" et de mettre ces structures protected et non plus le cache. Et de definir pour une structure "contenu" une methode lecture et ecriture ?
 
Vous en pensez quoi ? Vous pouvez nous expliquer comment ca marche exactement le protected en ADA ???
 
Merci

mood
Publicité
Posté le 19-12-2002 à 11:46:48  profilanswer
 

n°272798
nraynaud
lol
Posté le 19-12-2002 à 14:20:07  profilanswer
 

shinji a écrit :

On a une variable cache : tableau de chaines unbounded_string.
Plusieurs taches partagent cette variable.
Le cache est protected pour eviter les acces concurrents
On a donc fait une fonction pour recuperer une chaine du cache et une procedure pour modifier le cache.
Toutefois on se demande si ca marche car la fonction renvoit un unbounded_string aui est en fait un pointeur sur la zone memoire.
Donc si une lecture est lancee, elle renvoit un pointeur sur l'espace memoire et si avant de lire le contenu pointe on a une procedure modifier alors la zone memoire sera modifiee.
 
On pense donc faire deux procedures. On se demande alors quel est l'interet des fonctions avec des protected vu que le probleme doit se rencontrer souvent.
En plus ca bloque tout le tableau cache.
 
Une autre solution serait de definir le cache comme un tableau de structures "contenu" et de mettre ces structures protected et non plus le cache. Et de definir pour une structure "contenu" une methode lecture et ecriture ?
 
Vous en pensez quoi ? Vous pouvez nous expliquer comment ca marche exactement le protected en ADA ???
 
Merci


Bouarf, qu'est-ce que tu fous la ?  
 
Dans un protected, les fonction ne peuvent que lire, elles ne doivent rien modifier. Les procedures pourront modifier les variables du protected. La règle du langage est la suivante : il peut y avoir plusieurs fonctions en concurrence dans le protected mais une procédure sera toujours toute seule dedans, et le langage se démerde tout seul pour respecter la règle.
 
Le plus simple est de mettre en private ton tableau, une fonction de lecture et une procédure d'écriture. si ça peut te rassurer, les unbounded_string sont recopiées automatiquement par le langage à la sortie du tableau : c'est hyper lent mais t'es sur que tu va pas te la faire désallouer alors que tu bosses avec.


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

  ADA protected ? on se pose des questions ???

 

Sujets relatifs
fonction qui pose problemerecherche votre avis sur 2 pitites questions projet info
[Bibliolinks] Adades ptites questions sur la STL et sur string
Plusieurs petites questions et demande de fonction sur Delphi[ C++ ] Pleins de questions pour un débutant...
Questions sur les Dates PHP ( - assez urgent - )bibliothèques ADA (reel_io.ads et entier_io.ads) ou les trouver ?
Question que je me pose...Quelques questions sur JS/CSS/HTML (Autres questions ...)
Plus de sujets relatifs à : ADA protected ? on se pose des questions ???


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