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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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
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
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
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.
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.