begin process at 2012 05 29 15:04:16
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

MFC

 > 

Passer des arguments via les événements


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Passer des arguments via les événements

mardi 23 janvier 2007 à 09:41:46 | Passer des arguments via les événements

billou_13

Membre Club
Voila, j'aimerais avoir votre avis sur la question : quel est pour vous le meilleur moyen de passer des arguments via une événement.

Je m'explique. Un exemple précis et typique serait un communication TCP/IP où un thread d'écoute devrait renvoyé chaque message reçu à un processus de traitement. Ma réflexion, si je ne me trompes, m'emmène à mettre en place une pile FIFOdans laquelle j'empilerais les messages reçus. Résultat, suite à une attente d'événement, le processus de traitement pourrait aller dépiler chaque message et traiter en conséquence.

Qu'en pensez-vous ? Est-ce pour vous la meilleur manière ou existe t il des méthodes plus rapides et efficaces ?

Merci d'avance,


Billou_13
Bask En Force

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
mardi 23 janvier 2007 à 15:12:11 | Re : Passer des arguments via les événements

yann_lo_san

Réponse acceptée !

Salut, on peut le voir différemment,
on peut déclancher un thread par message, ce qui évite de gérer une pile.
En limitant le nombre de threads parallèles et en sachant que le processus de traitement ne sera pas long, le thread sera libéré très vite et une moyenne pourra être calculée.
Mais ta solution est aussi utilisée. (différence entre mode connecté et déconnecté, un chat, une requête vers un serveur ect...).
Mais il doit y avoir bien d'autres solutions encore.

mardi 23 janvier 2007 à 16:42:26 | Re : Passer des arguments via les événements

aardman

Membre Club
Réponse acceptée !
Salut,
Ce genre de systeme de gestion evenements avec une pile fifo existe déja sous windows, grace aux messages windows (PostMessage, PostThreadMessage) ou  aux procedures asynchrones (QueueUserAPC). Ce sont a mon avis les deux moyens les plus pratiques pour communiquer entre deux threads.
La version messages-windows est pratique car souvent le thread ou l'ont desire 'router' les evenements est le thread principal de l'application, autrement dit le thread GUI. La version avec les fonctions apc semble etre plus performante, mais ca reste a tester.
mardi 23 janvier 2007 à 17:33:01 | Re : Passer des arguments via les événements

billou_13

Membre Club
Merci à vous pour ces suggestions. Je vais en tenir compte et les tester.

Bonne soirée,


Billou_13
Bask En Force

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------


Cette discussion est classée dans : événements, passer, événement, meilleur, arguments


Répondre à ce message

Sujets en rapport avec ce message

Passer arguments [ par ncoder ] Bonjour à tous !Et oui, des questions, encore des questions, toujours des questions...Je me demandais si on pouvais passer des arguments à un programm Passer des arguments à un Thread & framework 2.0 [ par nico971gwada ] Salut,Je dois faire une interface graphique qui permet de s'échanger des fichiers xml.Sans trop rentrer dans les détails je dois faire 2 serveur UDP é événement unix [ par sparetime ] bonjour j'ai un code avec vc++ qui est fait avec ATL .ATL est utilisé pour permettre d'utiliser la notion d'événements et ainsi prévenir un thread qui Passer des arguments d'execution a une appli MFC [ par vincentsage ] Voila, je dois faire un programme qui lorsqu'on le lance sans arguments (double clic) , se lance en mode graphique (via une interface créee par MFC), Informations sur la STL [ par simtiers ] Salut ! Existe-il dans la STL une classe de stockage du genre vector qui permette de stocker des variables de type différents ? En fait, je crée une Probleme avec les arguments de RegQueryValueEx [ par Menontona ] Voila c'est tout bête mais j'arrive pas a compiler la fonction RegQueryValueEx sous dev cpp.Le code:int i;      DWORD dSize;  size = 100;  i = RegQuer Arguments pour fonction naked [ par vecchio56 ] Quand on crée un fonction naked, si j'ai bien compris les arguments sont passés par registre. Comment fait on alors pour savoir ou est quoi, et que se Choix Compil [ par hoxid ] BonjourTout le mondeje voulais poser une question :Est ce que ca vaut la peine de prendre le C++BuilderX personnel ou est ce que le Dev Cpp est meille Comment passer une variable entre 2 FORMVIEW (MFC) [ par marcel6566 ] Mon application est une MDI avec un Splitter. De chaque coté des boite de dialogue de type FORMVIEW.Je souhaite passer des variables d'une boite de di Gestion des événement OpenGL [ par theidiot ] Je connais bien glutMouseFunc(); et glutMotionFunc(); pour paramètrer callback x et y. Le problème c'est qu'il faut peser sur le boutton de la souris


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,499 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales