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 :

Thread et Class


Sujet :

C++

  1. #1
    psl
    psl est déconnecté
    Membre actif
    Avatar de psl
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 98
    Points : 242
    Points
    242
    Par défaut Thread et Class
    Bonjour,
    Après une réponse sur un autre post digne de Monsieur "flash"
    Je suis à la recherche d'un tuto, d'une référence ou exemple pour :
    - créer un thread dans une class,
    - qui exécute donc une fonction static,
    - dans cette fonction static, je souhaite utiliser des attibuts et méthodes de la class.
    Cela devient plus que limite pour mes connaissances.
    @+
    Ubuntu 18.04 LTS

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Pas besoin de chercher de midi à quatorze heures.
    Premier jet à améliorer du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    class Thread {
    public:
     void start() { mThread = new std::thread(DoRun, this); }
     void stop() { delete mThread; }
    protected:
     static void DoRun(Thread* p) { p->run(); }
     virtual void run()=0;
    private:
     std::thread* mThread;
    };
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    psl
    psl est déconnecté
    Membre actif
    Avatar de psl
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 98
    Points : 242
    Points
    242
    Par défaut
    Bonjour Bousk,
    Oups...
    Je vais voir pour digérer cela !

    Toujours admiratif devant le savoir des experts.
    Merci
    Ubuntu 18.04 LTS

  4. #4
    psl
    psl est déconnecté
    Membre actif
    Avatar de psl
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 98
    Points : 242
    Points
    242
    Par défaut
    Bonjour,
    Citation Envoyé par Bousk Voir le message
    Pas besoin de chercher de midi à quatorze heures.
    Premier jet à améliorer du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    class Thread {
    public:
     void start() { mThread = new std::thread(DoRun, this); }
     void stop() { delete mThread; }
    protected:
     static void DoRun(Thread* p) { p->run(); }
     virtual void run()=0;
    private:
     std::thread* mThread;
    };
    J'avoue humblement que je patauge ou plutôt je coule.
    Serait-il possible d'avoir un exemple qui affiche de manière infinie "Approfondir C++" ?
    A défaut de comprendre, tout pour l'instant, au moins de pouvoir progresser par similitude.
    Merci
    @+
    Ubuntu 18.04 LTS

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Par exemple avec un simple héritage ça devrait ressembler à ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    class InfiniteThreadingDisplay : public Thread {
    protected:
      void run() override { std::cout<<"Approfondir C++..."<<std::endl; }
    };
    int main() {
      InfiniteThreadingDisplay t;
      t.start();
      std::this_thread::sleep_for (std::chrono::seconds(3600));
    }
    Tu peux aussi non pas utiliser de l'héritage mais un foncteur par exemple, non pas un simple appel à run mais une boucle qui rappelle en boucle une fonction tant que le thread est running, ...
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  6. #6
    psl
    psl est déconnecté
    Membre actif
    Avatar de psl
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 98
    Points : 242
    Points
    242
    Par défaut
    Re,
    Merci Bousk.
    Je m'y replonge
    Je vais également voir côté foncteur, cela me dit quelque chose lorsque j'ai vu les itérateurs.
    @+
    Ubuntu 18.04 LTS

Discussions similaires

  1. probleme avec les threads et class
    Par cosmoff dans le forum Général Python
    Réponses: 1
    Dernier message: 25/05/2015, 14h32
  2. Thread et classe interieur
    Par Jolt0x dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 13/10/2012, 09h52
  3. [Débutant] Opération inter-Thread + inter-Class
    Par Orci76 dans le forum VB.NET
    Réponses: 2
    Dernier message: 03/05/2012, 09h59
  4. Threads et classes
    Par Unibozu dans le forum C++
    Réponses: 3
    Dernier message: 20/03/2007, 10h14

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