Bonjour,
J'utilise des threads, qui peuvent se lancer simultanément, et il arrive que ces threads lisent ou écrivent un fichier en même temps...
Afin d'éviter une concurrence à l'écriture du fichier, je fais en sorte que son nom contienne un uid généré aléatoirement...
Pour générer un uid aléatoirement, j'ai fait une fonction contenant notamment :
Seulement si la fonction est appelée simultanément par 2 threads, l'uid généré aléatoirement est malheureusement le même...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 randomize(); uid = rand()%100000;
Y'a-il un moyen de contourner cela, de générer vraiment un nombre aléatoire même s'il est généré au même instant ?
Ou puis-je générer un uid à partir d'autres éléments (chaine de caractères par exemple) ?
Merci d'avance pour votre aide !
Partager