Précédent   Forum des professionnels en informatique > Autres langages > Autres langages > Ada
Ada Forum d'entraide sur la programmation en langage Ada
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/07/2011, 22h23   #1
Futur Membre du Club
 
Homme
Inscription : avril 2011
Messages : 9
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : avril 2011
Messages : 9
Points : 15
Points : 15
Par défaut Ada peut-il être ambiguë ?

Deux tâches concourantes travaillent chacune, via des points d'appel du type entry*(T : in out array…), sur un tableau passé en mode in out.
Si chacune des tâches est sollicitée avec le même tableau en paramètre d'entrée/sortie et si par construction des deux tâches on est sûr que leurs opérations de lecture-écriture sont faites sur des parties disjointes du même tableau, est-ce que la norme d' Ada 2005 garantie qu'à terminaison des deux tâches, le tableau retourné comprendra bien les modifications apportées par les deux tâches sans interférence de l'une sur la partie modifiée par l'autre ou bien cela dépend-il de l'implémentation du langage ?
RedBlackTree est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 22h09   #2
Futur Membre du Club
 
Inscription : mars 2011
Messages : 22
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 22
Points : 17
Points : 17
Par défaut Il y a peut-être bien un problème

L'ambiguité doit venir de la façon dont le compilateur réalise le passage en mode in out du tableau aux procédures qui y travaillent en parallèle . Si c'est l'adresse du tableau qui est passé, il ne doit pas y avoir de problème pour récupérer un tableau avec les modifications faites sur ses parties disjointes. Mais par contre si chaque procédure fait une copie intégrale du tableau avant de travailler dessus puis à terminaison la recopie dans le tableau d'origine alors ce sera un peu au dernier qui aura parlé d'imposer sa version.
La copie d'un tableau étant une opération lourde, il serait étonnant qu'elle soit la méthode préférée de passage de paramètre d'un compilateur. Je ne sais pas si la norme Ada détaille plus avant la méthode de réalisation du mode in out.

Avez-vous un exemple concret à programmer en multi-tâche qui rencontre cette situation ?
Emile8 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h18.


 
 
 
 
Partenaires

Hébergement Web