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

C++ Discussion :

CreateThread sur une fonction membre (méthode)


Sujet :

C++

  1. #1
    Inactif
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 15
    Par défaut CreateThread sur une fonction membre (méthode)
    Bonjour,

    J'aimerais exécuté la fonction membre d'une classe avec la fonction createthread mais je sais pas comment faire...

    Quelqu'un pourrait-il m'aider ??

  2. #2
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    Normalement ce n'est pas possible, la solution consistant à ruser, est d'utiliser une fonction statique ou globale pour démarer le thread en lui passant en paramètre un pointeur vers l'objet sur lequel appeller la méthode membre...
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  3. #3
    Inactif
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 15
    Par défaut
    Ce semble être une astuce intéressante...

    thx

  4. #4
    Inactif
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 15
    Par défaut
    Et comment je fais si je veux utiliser la fonction CreateThread pour exécuter une autre fonction en donnant plusieurs arguments ? Parce que j'ai pas bien compris en fait...

  5. #5
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    regarde ici :
    http://c.developpez.com/faq/cpp/?pag...onction_membre

    pour faire passer en plus un paramètre à la fonction membre, il te suffit de passer un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void*[2] static_param = { &inst_de_A, param }
    au lieu d'un simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void* param = &inst_de_A;
    par exemple et de modifier le reinterpret_cast pour avoir le bon type...
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  6. #6
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 392
    Par défaut
    Au fait: si tu utilises des fonctions de la Run-time library dans ton thread (fonctions de flux, ou même un simple malloc/new), n'utilise pas CreateThread() mais _beginthreadex() (défini dans process.h) qui permet d'initialiser certaines variables internes...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. Pointeur sur une fonction membre templatée et +
    Par metagoto dans le forum Langage
    Réponses: 2
    Dernier message: 09/08/2013, 02h05
  2. [boost::thread] créer un thread sur une fonction membre.
    Par méphistopheles dans le forum Boost
    Réponses: 6
    Dernier message: 03/06/2009, 13h49
  3. Ptr sur une fonction membre.
    Par willycat dans le forum C++
    Réponses: 3
    Dernier message: 14/04/2008, 15h29
  4. Réponses: 5
    Dernier message: 29/06/2006, 17h23
  5. Réponses: 3
    Dernier message: 16/05/2006, 18h22

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