Bonjour à tous, voilà j'ai un petit soucis dans mes threads.
Pour faire simple j'ai un rand() dans la méthode Run qui sert à générer un int aléatoire pour appeler la méthode Sleep() et cependant mes 2 Threads qui s'executent en parallèle génèrent la même valeur.
Un petite explication ?
(je mets une partie de code)
Merci d'avance !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 int hasard(int min, int max){ return (int) (min + ((float) rand() / RAND_MAX * (max - min + 1))); } void robot::Run(void) { int attente; int i; std::cout<<this->getNom()<<" demarre ..."<<std::endl; attente=hasard(500,1000); while(this->vie > 0) { std::cout<<attente<<std::endl; this->cycleDeVie(); Sleep(attente); attente=hasard(500,1000); } std::cout<<this->getNom()<<" J'ai termine !!"<<std::endl; }
Partager