OVH Cloud OVH Cloud

Formulaire partage

2 réponses
Avatar
ASM
Salutatous,

Alors cette fois, un peu plus compliqué :

Soit un fichier unique en lecture ecriture et commun.
Soit plusieurs consultants écrivassiers du dit fichier.

Comment faire ?
Exemple :
ils sont 2 à ouvrir le fichier et à le compléter-modifier
l'un enregistre sa version,
l'autre ensuite la sienne, en écrasant au passage le travail du 1er.

Existe-t-il qque part une routine (comparaison original aec modifs 1 et
modifs 2 pour n'en faire plus qu'un contenant ce qu'il faut) ?
Sans passer par une usine à gaz, bien entendu.

Merci.
--
Stephane Moriaux et son [moins] vieux Mac

2 réponses

Avatar
Jean-Francois Ortolo
ASM wrote:
Salutatous,

Alors cette fois, un peu plus compliqué :

Soit un fichier unique en lecture ecriture et commun.
Soit plusieurs consultants écrivassiers du dit fichier.

Comment faire ?
Exemple :
ils sont 2 à ouvrir le fichier et à le compléter-modifier
l'un enregistre sa version,
l'autre ensuite la sienne, en écrasant au passage le travail du 1er.

Existe-t-il qque part une routine (comparaison original aec modifs 1 et
modifs 2 pour n'en faire plus qu'un contenant ce qu'il faut) ?
Sans passer par une usine à gaz, bien entendu.

Merci.



Bonjour

Problème type, fréquent en Informatique, inhérent aux traitements
multi-utilisateurs souhaitant écrire dans une ressource partagée.

Il s'agit d'un problème de partage en écriture, qui peut ( et doit ),
être résolu avec un "petit" sémaphore, ou son équivalent.

Prinsipe du sémaphore ( Je vous laisse l'inplémentation ): Mettre
chaque utilisateur dans une queue, logique de la queue: Premier arrivé,
premier servi.

Au fur et à mesure que la queue se vide, les utilisateurs "servis"
écrivent dans le fichier, chacuns à leur tour.

Simple, n'est-ce-pas ?

Quant à l'inplémentation... Un fichier servant de verrou bloquant,
pour filtrer le début de la queue + un autre fichier, créé après
bloicage du verrou ci-dessus. Sa présence indique à tous les autres
utilisateurs, qu'ils doivent attendre ( dans la queue ). Le premeir
utilisateur ( celui qui a posé le verrou bloquant, après avoir créé le
deuxième fichier, débloque le verrour bloquant, fait la tâche, puis
supprime le deuxième verrou.

Un des utilisateurs de la queue, constatant que ce deuxième verrou
n'existe plus, fait la même chiose que le premier utilisateur: Il pose
un verrou bloquant sur le premier fichier ( premier arrivé premier servi
), puis créé le deuxième fichier, puis... Vogue la galère.

Les suivants attendront, car ils ont absolument voulu faire ce qu'ils
étaient venus faire ( On se demande pourquoi... )

Tout ceci est du b-a-ba de tout informaticien digne de ce nom.

Bien à vous.

Jean-François Ortolo

PS Evidemment, vous vous arrangez, à chaque fois qu'un utilisateur va
verrouiller le premier en mode bloquant, que sa page d'accès au fichier
à écrire, soit rafraîchie. Pour qu'il ait accès à la toute dernière
version du fichier.

--
Visitez mon site gratuit donnant des Statistiques
et des Historiques Graphiques sur les Courses de Chevaux:
http://www.ortolojf-courses.com

Avatar
3rino
ASM wrote:

Salutatous,

Alors cette fois, un peu plus compliqué :

Soit un fichier unique en lecture ecriture et commun.
Soit plusieurs consultants écrivassiers du dit fichier.

Comment faire ?



J'ai déjà eu une petite conversation de ce genre:
http://groups.google.be/group/fr.comp.lang.php/browse_thread/thread/d7613ba7d0c70da5/7b8af8a1da35671f?q=wiki+bluesilk&rnum=1#7b8af8a1da35671f

Bon, ca répond pas à ta question, mais ça fera un petit peu de lecture ;-)

[...]


sur quoi, Jean-Francois Ortolo wrote:

[...]
Tout ceci est du b-a-ba de tout informaticien digne de ce nom.




wouarf, comment y s'la joue lui ;-)



--
http://bluesilk.be