Bonjour,
J'essaye de concevoir un système qui limiterai le nombre d'instance de mon programme qu'il est possible de lancer en même temps (1 seule).
Pour cela, j'utilise le verrouillage de fichier RandomAccessFile.getChannel().tryLock().
Si le programme arrive à verrouiller le fichier (1ere instance), il écrit dedans des informations.
Si il n'arrive pas à verrouiller le fichier (instance secondaire), il lit les informations déjà écrite.
Le problème, c'est que dans le cas d'une instance secondaire, le programme n'arrive pas à lire le contenu du fichier, car celui ci est verrouillé.
Et je ne peux pas déverrouiller le fichier depuis la 1ere instance, car sinon l'instance secondaire arriverait à le verrouiller (et ça perd tout l'intérêt).
Je voudrais donc pouvoir verrouiller le fichier (en écriture), mais qu'il reste accessible en lecture.
Des idées ?
Merci
Partager