Bonjour,
je fais mon premier programme utilisant le multi-threading sous windows.
J'ai un thread principal et un thread secondaire créé avec CreateThread() qui tourne en permanence avec une boucle while().
J'ai besoin de faire en sorte que mon thread principale appelle une fonction d'une classe instancié dans le thread secondaire (qui modifie des états de cette classe).
Je peux utiliser pour cela la fonction PostThreadMessage() et faire executer la fonction désirée par le second thread à la réception du message.
Mais mon problème, c'est que mon thread principal a besoin d'être certain que la fonction du thread secondaire a bien été executé avant dans continuer son exécution (il doit attendre).
La seul solution que j'ai trouvé c'est quelque chose comme ci-dessous. Mais j'ai pas l'impression que ce soit la meilleur (surtout à cause du while de FonctionThreadPrincipal() si aucun message de retour n'est capté)
Dans mon thread principal:
Dans mon thread secondaire:
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Qu'est ce que je dois faire ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

 

 
		
		 
         
 

 
			
			

 
   


 Forcer l'execution d'une fonction dans un thread
 Forcer l'execution d'une fonction dans un thread
				 Répondre avec citation
  Répondre avec citation


 
  
  
  
 
 
			 
			
Partager