Bonjour,
dans le cadre de mon projet j'ai du séparer les boucles de fonctionnement entre 2 threads principaux (récepteur et de calcul) et le second peut lui aussi créer des threads secondaires.
Mon problème est d'arriver à envoyer des signaux du thread secondaire au 1er thread principal. Je viens de découvrir que le connect ne suffit pas car il ne semble pas y avoir de lien entre les 2 threads.
Je pourrai envoyer des signaux au 2nd thread principal qui enverrait alors un signal au 1er thread principal mais je me demande si on ne peut pas faire plus simple.
J'oubliais de préciser que j'utilise un classe statique pour envoyer mes signaux pour qu'ils soient disponible à tous les niveaux de mes threads (et classes) de mon thread de calcul.
Je n'ai pas de probleme de connexion car j'ai testé hors du 2 niveaux de thread et tout fonctionne bien.
Voici un essaie de présentation de mon problème avec du code simple (et certainement des erreurs car c'est vraiment simplifié par rapport à mon programme) mais c'est pour aider peut être à la compréhension :
Reciever.h - recepteur 1 thread principal
computeSignals.h - pour envoyer les signaux
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
ComputeThread.h - thread principal 2 de calcul
ComputeThread.cpp - thread principal 2 de calcul
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
computeThread2 - thread de calcul secondaire appeler par le thread de calcul principal il doit pouvoir envoyer des signaux au récepteur
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
ComputeThread2.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
Et enfin le main
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9

 

 
		
		 
        

 
			
			



 Signal et slot dans un cas multithread à 2 voire 3 niveaux
 Signal et slot dans un cas multithread à 2 voire 3 niveaux
				 Répondre avec citation
  Répondre avec citation
Partager