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 :

[Debutant] Faut-il tuer les Threads Static?


Sujet :

MFC

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2003
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 69
    Points : 59
    Points
    59
    Par défaut [Debutant] Faut-il tuer les Threads Static?
    Voila, je fais un jeu avec un serveur multi-thread car je manipule des sockets etc etc.... enfin bref j'ai lu l'article de khayyam90 sur la création d'un serveur multi-thread (que je le trouve excellent) mais juste une question, il crée ces threads en static , faut-il que je les flingue ou il s'arrete tout seul car ils sont static? et comment le faire ?? (ps: je ne suis pas un fan du static) car dans le FAQ Visual C++ , il dit seulement comment faire pour arrêter des threads version MFC.


    Merci d'avance

  2. #2
    Membre éprouvé Avatar de Caine
    Inscrit en
    Mai 2004
    Messages
    1 028
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 028
    Points : 1 122
    Points
    1 122
    Par défaut
    De par leur méthode de création, les threads sont dynamiques, ceci signifie que c'est au programmeur que revient la tâche de stopper les threads et de les détruire.

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 572
    Points
    41 572
    Par défaut
    Qu'est-ce que tu appelles threads static ? :
    Tu utilises des classes? Car le thread lui-même n'est ni statique ni dynamique, c'est un "objet" du kernel...
    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.

  4. #4
    Membre du Club
    Inscrit en
    Novembre 2003
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 69
    Points : 59
    Points
    59
    Par défaut
    Euh. ben cé dans l'article multi-thread qui a crée dans des threads (en utilisant le F.A.Q. voici l'article :

    http://khayyam.developpez.com/articl.../multithreads/


    dans la section II-5. Les threads des clients

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 572
    Points
    41 572
    Par défaut
    Ah, oui.
    La procédure de thread est appelée en C, d'est pour cette raison qu'elle doit être soit une méthode statique, soit une fonction à part.
    Mais le thread lui-même est représenté par un HANDLE.

    Sachant qu'un programme se termine (normalement) quand tous ses threads se sont terminés, oui, il faudrait que tu fasses mourir tes threads avant de quitter le programme.

    Si tu ne peux les faire mourir proprement, il faudra te résoudre à les tuer.

    Au fait, il faut savoir que si le main() ou WinMain() se termine avec return, tous les autres threads sont tués, car le return du main/WinMain déclenche un appel implicite à ExitProcess().
    Pour terminer ton main sans tuer automatiquement les autres threads, tu dois terminer le main avec ExitThread().
    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.

  6. #6
    Membre du Club
    Inscrit en
    Novembre 2003
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 69
    Points : 59
    Points
    59
    Par défaut
    Merci beaucoup , pour ton reponse qui illumine ma journée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Debutant] probleme pour utiliser les classes d'un .jar
    Par pissek dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 12/05/2004, 18h21
  2. Gestion des message windows dans les threads
    Par billyboy dans le forum Windows
    Réponses: 5
    Dernier message: 06/10/2003, 17h25
  3. Question simple sur les threads :)
    Par momox dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/06/2003, 04h13
  4. question sur les variables globales et les thread posix
    Par souris_sonic dans le forum POSIX
    Réponses: 5
    Dernier message: 13/06/2003, 13h59

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