Bonjour,
J'ai un programme dans lequel j'ai plusieurs threads. Ces threads affichent du texte avec cout.
Mon problème c'est que quand je veux afficher des variables avec par exemple la ligne de code suivante dans un thread :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 cout << " La variable A vaut "<<A<< " et la variable B vaut : "<< B << "\n" << endl;
, et la ligne de code suivante dans un 2eme thread :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
cout << " Il fait "<<temperature<< " degrés aujourd'hui\n" << endl;
et bien , j'ai parfois les écritures des 2threads qui se chevauchent.
Exemple :
Dans le cas ou il faudrai afficher les 2 phrases suivantes :
-le thread 1 devrait afficher "La variable A vaut 5 et la variable B vaut 10"
-le thread 2 devrait afficher "Il fait 7 degrés aujourd'hui"

Cela peut donner par exemple
"La variable A vaut Il fait 5 7 et la variable B vaut degrés aujourd'hui
10".

En gros, ca alterne l'affichage de chaque threads. comment rectifier le probleme?

J'ai pensé à des printf() qui rectifient bien cela et empechent l'alternance, mais là se pose un autre problème, cette fois ci avec un affichage de string. Quand j'écris ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
	string texte ="aaaaa";
	printf("\nprintf : %s ",texte );
	cout <<"\ncout : "<< texte << "\n" << endl;
, j'obtiens :
"printf :
cout : aaaaa"

En fait le printf n'affiche pas mon string...

Cela fait plusieurs questions, j'espere que quelqu'un pourra m'aider