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++/CLI Discussion :

Constructeur de Thread


Sujet :

C++/CLI

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    371
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 371
    Par défaut Constructeur de Thread
    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
    using namespace System;
    using namespace System::Threading;
    ref class Work
    {
    private:
       Work(){}
     
     
    public:
       static void DoWork(){}
     
    };
     
    int main()
    {
       Thread^ newThread = gcnew Thread( gcnew ThreadStart( &Work::DoWork ) );
       newThread->Start();
    }
    Dans ce code, issu du msdn , je ne comprend pas pourquoi on refait un gcnew ThreadStart apres deja un gcnew mais surtout je ne comprend pas pourquoi on lui envoit ladresse de "Work" ( l'instance? ) et aussi l'appel ( ?! ) de la methode DoWork ... ?

    La methode DoWork est elle lancée a lappel de la methode Start du thread ou avant ?
    Cest dans cette methode quon rentre le code qu'excute le thread?

    Merci par avance de vos informations


    ps: dailleur le code marche pas, il manque soit disant un argument a ThreadStart et je vois pas lequel meme avec l'aide

  2. #2
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    76
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 76
    Par défaut
    Je pense qu'il te manque un objet Work.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Work^ work = gcnew Work();
     
    Thread^ newThread = gcnew Thread( gcnew ThreadStar (work,&Work:: DoWork ) );
     newThread->Start();
    La méthode DoWork() démarre grace à

  3. #3
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    76
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 76
    Par défaut
    Sorry j'avais pas vu que DoWork() est static.

    D'ailleurs ton code fonctionne.


    Citation Envoyé par Pugebad
    Dans ce code, issu du msdn , je ne comprend pas pourquoi on refait un gcnew ThreadStart apres deja un gcnew mais surtout je ne comprend pas pourquoi on lui envoit ladresse de "Work" ( l'instance? ) et aussi l'appel ( ?! ) de la methode DoWork ... ?
    ThreadStart est un délégué.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    371
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 371
    Par défaut
    chez moi il marche pas ...
    argument manquant comme dit plus haut ...

  5. #5
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414

Discussions similaires

  1. Un constructeur est-il thread-safe ?
    Par Chatanga dans le forum Concurrence et multi-thread
    Réponses: 10
    Dernier message: 25/04/2012, 14h56
  2. Créer un thread dans un constructeur.
    Par LGnord dans le forum Débuter avec Java
    Réponses: 6
    Dernier message: 18/04/2012, 12h11
  3. Réponses: 3
    Dernier message: 12/04/2011, 15h16
  4. Constructeur / Références et Threads [C#]
    Par Walmas dans le forum C#
    Réponses: 2
    Dernier message: 03/11/2010, 17h39
  5. Threads windows this est null dans le constructeur
    Par ghalaax dans le forum Visual C++
    Réponses: 1
    Dernier message: 12/12/2006, 16h57

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