Bonjour,
J'ai un petit soucis dans la synchronisation de mes fichiers.
En fait, un fichier req.txt est utilisé par deux exécutables, a et b. a réécrit régulièrement ce fichier et b le lit en boucle et si le fichier a été modifié, il opère des traitements.
Le problème est le suivant:
Mon application plante si a écrit le fichier alors que b est en train de le lire.
Comment verrouiller mon fichier lorsqu'il est écrit par a ou lu par b?
Je voudrais un code du style:
Dans le code de b:
Dans le code de a:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 procedure lectureDansB (fichier : String); ... While FichierEnEcritureDansA(fichier) do // On attend que a ait fini d'écrire begin Sleep (100); end; ... // Lecture du fichier end;
En fait, je ne vois pas comment écrire les méthodes FichierEnEcritureDansA et FichierEnLectureDansB me renvoyant vrai si respectivement le fichier est en écriture dans a et en lecture dans b.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 procedure EcritureDansA (fichier : String); ... While FichierEnLectureDansB(fichier) do // On attend que b ait fini de lire begin Sleep (100); end; ... // Ecriture du fichier end;
Cordialement.
Partager