|
Bas de page | |
---|---|
Auteur | Sujet : Win32, threads, messages et blocages |
Publicité | Posté le 01-07-2006 à 14:30:32 |
bjone Insert booze to continue |
|
slash33 | bloqués : les threads existent toujours mais leur execution est suspendue. |
jagstang Pa Capona ಠ_ಠ | deadlock...
--------------- What if I were smiling and running into your arms? Would you see then what I see now? |
slash33 | Si je suis certain qu'ils seront exécutés DANS L'ORDRE D'EMISSION oui, sinon non. Mais j'ai indiqué qu'en pratique des appels à PostMessage() font échouer la logique du programme. Message édité par slash33 le 02-07-2006 à 13:12:51 |
jagstang Pa Capona ಠ_ಠ | les messages asynchrones sont en principe effectué dans l'ordre d'émission... (venant d'un seul process) --------------- What if I were smiling and running into your arms? Would you see then what I see now? |
slash33 | Je le pensais aussi mais visiblement cela pose des désordres importants au traitement des messages. Le principe de fonctionnement du logiciel est de modifier l'aspect de l'interface graphique à la réception d'un message. La mise à jour de l'interface fait elle-même appel au mécanisme de files de messages. Mais je pense pas que cela pose un problème. Message édité par slash33 le 02-07-2006 à 13:44:42 |
bjone Insert booze to continue | déplaçe ton positionnement de booléen de manière a ce que A continue de traiter la queue de messages quelque temps pour bien consommer tous les messages. |
slash33 | Tu proposes de positionner le booléen à TRUE le plus tôt possible avant le WaitForSingleObject c'est ça ?
|
bjone Insert booze to continue | je penses que tu as un blocage parceque tout ce qui est produit dans la queue de messages n'est pas consommé. |
Publicité | Posté le 02-07-2006 à 17:33:33 |
slash33 | Ben oui cela s'explique simplement : le Thread A qui consomme les messages est mis en attente (suspendu) en attendant que le Thread B se termine. Mais le thread B peut produire un message à destination de A avant de se terminer. Hors avec cette implémentation, le message produit par B doit être consommé par A pour rendre la main à B après l'exécution de SendMessage. Bref SendMessage est bloquant tant que le message n'a pas été traité (cf MSDN).
Message édité par slash33 le 02-07-2006 à 18:02:52 |
Trap D |
bjone Insert booze to continue |
slash33 |
Message édité par slash33 le 02-07-2006 à 20:04:35 |
slash33 |
Message édité par slash33 le 02-07-2006 à 20:03:40 |
bjone Insert booze to continue | bin déjà savoir que c'est du MFC ça aide.
|
bjone Insert booze to continue | tu as donc quoi, un .cpp pour la classe de l'application, des .cpp avec les classes des fenêtres, dans l'un de tout ça ou un .cpp a part, tu as tes routines de threads ? |
bjone Insert booze to continue |
|
Trap D | e ne suis pas du tout spécialiste de ce genre de développement, simplement en regardant la doc, j'ai vu cette possibilité justement pour résoudre le problème du "message deadlocks".
|
breizhbugs | Salut,
|
slash33 |
Message édité par slash33 le 08-07-2006 à 20:48:50 |
slash33 |
Message cité 1 fois Message édité par slash33 le 08-07-2006 à 20:44:24 |
slash33 |
Message édité par slash33 le 08-07-2006 à 20:53:09 |
breizhbugs |
Message cité 1 fois Message édité par breizhbugs le 09-07-2006 à 11:56:30 |
slash33 |
Message édité par slash33 le 09-07-2006 à 12:50:31 |
breizhbugs |
|
slash33 | Merci pour la solution. On en discute en ce moment mais vu le monde qu'il y a pendant les vacances, le dossier ne va pas avancer bien vite. Message édité par slash33 le 14-07-2006 à 11:45:53 |
breizhbugs | |
Publicité | Posté le |
Sujets relatifs | |
---|---|
Win32, winsock, timeout et GPRS sur WM5 | Probleme de synchronisation ecriture tubes / multi threads fork |
ajouter une fenetre à une application win32 console ? | THREADS - utilisation de pthread.h |
Problèmes de variables communes à différents Threads | [msgbox] comment faire des liens avec plusieurs messages d'alertes |
Threads sur un serveur J2EE ? Thread en tant que Singleton? | [win32] PropertySheet() et PSM_CHANGED ... |
API win32 + logiciel réseau | [win32] couleur entourant un bouton |
Plus de sujets relatifs à : Win32, threads, messages et blocages |