IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

Pb de Threads et d'heritage de Thread


Sujet :

MFC

  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 104
    Par défaut Pb de Threads et d'heritage de Thread
    Bonjour, j'ai un pb avec les threads, j'arrive a en utiliser un tout seul, en creer un, l'executer...

    Mon pb vient du fait que j'ai 2 classes (Simu et Popo)

    Simu est une classe qui va lancer plein de popos, et tous ces popos doivent etre des threads car ils vont s'executer en parallele. comme il est possible de lancer et stopper la simu, simu est egalement un thread (thread primaire ?)
    Donc simu est un thread primaire, popos sont des threads lancés par un objet Simu mais je ne sais pas au niveau syntaxe et heritage. Quelle classes doit heriter de thread ? et comment s'appelle la classe thread sous mfc ? ou trouvez des docs dessus avec des exemples si possible ?

    Mon pb est que je ne veux pas utliser des threads basiques mais avoir des objets qui sont eux memes des threads.

    Merci de m'aider par des liens ou des bouts de code.

  2. #2
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 104
    Par défaut
    Bon, je reformule !

    - une classe simu possede des methodes comme start, stop, pause afin de gerer une simulation

    - une classe popo represente des objets de cette simulation et vont etre lancées par la simulation, ils doivent s'executer en parallele !

    Comment mes objets popo peuvent etre des thread ? heritage ? quelle est la syntaxe pour heriter d'une classe thread ? quelle classe thread ?

    je suis un peu perdu, on m'a parlé de winthread, je trouve rien sur le Net ! merci de m'aider

  3. #3
    Futur Membre du Club
    Inscrit en
    Mars 2005
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 3
    Par défaut
    on a plutot du te parler de CWinThread

    voici comment j ai fait pour m en servir
    je ne dis pas que ce que j ai fait est une reference mais ca a fonctionné :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    class CmyThread : public CWinThread
    {
    	DECLARE_DYNCREATE(CmyThread)
    protected:
    //	CmyThread();           // protected constructor used by dynamic creation
     
    // Attributes
    public:
    	CmyThread();           // protected constructor used by dynamic creation
    	virtual ~CmyThread();
    // Operations
    public:
    	int Run();
     
    // Overrides
    	// ClassWizard generated virtual function overrides
    	//{{AFX_VIRTUAL(CmyThread)
    	public:
    	virtual BOOL InitInstance();
    	virtual int ExitInstance();
    	//}}AFX_VIRTUAL
     
    // Implementation
    protected:
    //	virtual ~CmyThread();
     
    	// Generated message map functions
    	//{{AFX_MSG(CmyThread)
    		// NOTE - the ClassWizard will add and remove member functions here.
    	//}}AFX_MSG
     
    	DECLARE_MESSAGE_MAP()
    };

  4. #4
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 104
    Par défaut
    Merci pour les infos !
    Mais quels includes sont necessaires ?
    il ya des fonctions strange genre DECLARE_DYNCREATE(CmyThread) , a quoi cela sert-il ???


    Moi je pensais faire deriver ma classe popo de CWinThread tout comme toi, et a ce que j'ai compris, dans le constructeur il faut construire un thread avec createThread et passer un parametre le nom d'une routine statique (run par exemple de type UINT run(LPvoid data), qui sera en fait le main du thread !! corrige moi si je me trompe ! merci

    PS : n'oublie pas de me donner les include , moi j'ai mis <stdafx.h> et <windows.h> et j'ai un pb , un genre de conflit ! Merci

Discussions similaires

  1. [Thread] Modifier objet static depuis thread
    Par orelero dans le forum Concurrence et multi-thread
    Réponses: 4
    Dernier message: 19/04/2006, 17h09
  2. Comment recycler un thread ds un pool de thread
    Par yanis97 dans le forum Langage
    Réponses: 2
    Dernier message: 07/03/2006, 18h21
  3. [Threads] Monitorer l'activité de threads
    Par guipom dans le forum Concurrence et multi-thread
    Réponses: 2
    Dernier message: 06/01/2006, 10h01
  4. [THREAD] Onclose en cours de thread
    Par Arrown dans le forum Langage
    Réponses: 4
    Dernier message: 12/12/2005, 15h23
  5. [Threads] Actions continues avec des threads
    Par MiJack dans le forum Concurrence et multi-thread
    Réponses: 6
    Dernier message: 10/10/2005, 17h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo