wx-widget - Problème de conception avec Thread

wx-widget - Problème de conception avec Thread - C++ - Programmation

Marsh Posté le 12-03-2012 à 16:43:00    

Bonjour à tous,
 
 
Je développe une application c++ avec wx-widget destinée à faire des calculs longs. Je dispose d'un thread principal dans lequel j'initialise une fenêtre de suivi de calcul et d'un thread de calcul (wxthread).
 
Dans mon thread principal, je souhaite "attendre" la fin d'un thread de calcul pour continuer l'exécution. Le problème est que si j'appelle la méthode wait sur mon thread, mon thread principal est figé jusqu'à la fin de mon thread de calcul et mon ihm l'est aussi par conséquent.
 
Quelle approche de programmation peut résoudre mon problème (attendre la fin d'un thread sans pour autant bloquer l'ihm)?

Reply

Marsh Posté le 12-03-2012 à 16:43:00   

Reply

Marsh Posté le 13-03-2012 à 12:04:06    

Ton thread est bien en wxTHREAD_JOINABLE et pas en wxTHREAD_DETACHED?

 
Citation :

Wait (wxThreadWait flags=wxTHREAD_WAIT_BLOCK)
  Waits for a joinable thread to terminate and returns the value the thread returned from Entry() or "(ExitCode)-1" on error.

Message cité 1 fois
Message édité par Tangrim le 13-03-2012 à 12:04:27

---------------
Des Bisous et des nounours ! | Internet 2025 | Dungeon-Generator
Reply

Marsh Posté le 13-03-2012 à 17:08:44    

Tangrim a écrit :

Ton thread est bien en wxTHREAD_JOINABLE et pas en wxTHREAD_DETACHED?
 

Citation :

Wait (wxThreadWait flags=wxTHREAD_WAIT_BLOCK)
  Waits for a joinable thread to terminate and returns the value the thread returned from Entry() or "(ExitCode)-1" on error.



 
oui

Reply

Marsh Posté le 13-03-2012 à 19:42:45    

Ça fonctionne en faisant un événement lancé par la fin du thread (j'ai plus le nom exact de l’événement).


---------------
Des Bisous et des nounours ! | Internet 2025 | Dungeon-Generator
Reply

Marsh Posté le 14-03-2012 à 17:45:07    

Tangrim a écrit :

Ça fonctionne en faisant un événement lancé par la fin du thread (j'ai plus le nom exact de l’événement).


J'ai résolu mon problème de conception, merci à vous.

Reply

Marsh Posté le 14-03-2012 à 21:39:35    

godbeni a écrit :


J'ai résolu mon problème de conception, merci à vous.


Comment as-tu procédé ?


---------------
iteme.free.fr | Mon feedback
Reply

Marsh Posté le 15-03-2012 à 15:00:15    

ITM a écrit :


Comment as-tu procédé ?


 
J'ai encapsulé le thread dans calcul dans un autre thread dont la durée de vie est la même que le thread main.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed