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 :

Différence entre AfxBeginThread et CreateThread


Sujet :

MFC

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 29
    Par défaut Différence entre AfxBeginThread et CreateThread
    Salut les gens!

    Je dois faire un programme qui utilise des threads (pour faire un traitement simultané) J'aime pas les threads...
    Le problème c'est que je n'y comprends pas grand chose!
    Alors est-ce que qqu peut me dire la différence qu'il ya entre AfxBeginThread et CreateThread?

    D'avance merci tres bcp!

  2. #2
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Août 2002
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2002
    Messages : 106
    Par défaut
    Salut,
    un des premiers réflexes a avoir quand tu programmes (et tu vas vite t'en rendre compte) c'est d'aller jeter un coup d'oeil à MSDN qui même si au début peut paraitre pas clair est en fait une mine d'or.

    Ainsi tu serai tombé sur ce petit passage:
    Citation Envoyé par MSDN
    Creates a thread to execute within the address space of the calling process. Use AfxBeginThread to create a thread object and execute it in one step. Use CreateThread if you want to reuse the thread object between successive creation and termination of thread executions.
    En clair:

    AfxBeginThread : thread qu'on utilise qu'une fois
    CreateThread : thread qu'on utilise plusieurs fois

    Voila, j'espère avoir pu t'aider
    Bonne chance pour la suite

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 29
    Par défaut
    C cool! Merci bcp

    Si g bien tt compris si g des traitement simultanés à faire, le tout qui tourne en boucle, il faut q j'utilise un CreateThread?


    NB : Je suis déjà aller faire un tour sur MSDN mais c une vraie jungle!
    Bon je crois q je vais faire un effort : je v aller faire un tour sur MSDN!

  4. #4
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Août 2002
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2002
    Messages : 106
    Par défaut
    Re,
    le bout de texte que j'ai trouvé est tout simplement dans la page sur CreateThread.
    C'est clair qu'au début, MSDN parait être une vrai jungle et quand j'étais étudiant je ne m'en servais jamais du coup, mais à force de programmer on se rend compte que c'est pas si bordélique que ça, il faut faire l'effort de s'y habituer au début.

    Sinon, un moyen trés efficace d'avoir de l'info rapidement et la recherche avancée sur le forum (utilise le lien à coté du lien FAQ, pas l'editbox Rechercher qui donne des mauvais résultats).

    Bonne chance

  5. #5
    Rédacteur
    Avatar de abelman
    Inscrit en
    Février 2003
    Messages
    1 106
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 1 106
    Par défaut
    Une autre difference de taille.
    Si tu as un projet MFC ou plus précisement dans ton thread utilises des objets MFC : utilises AfxBeginThread.
    Sinon utilises CreateThread.
    En general j'utilise _beginthreadex ou AfxBeginThread.
    Jamais CreateThread.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2003
    Messages : 50
    Par défaut


    Pour donner une idée, j'ai la réaction exactement inverse de la personne qui a posté le dernier message : j'utilise toujours CreateThread et jamais AfxBeginThread pour justement etre indépendant des MFC.

    Mon point de vue est que les MFC ne sont qu'une couche supplémentaire que Microsoft a inventé pour ok gagner du temps de programmation mais qui ont le désavantage de consommer des ressources du système.
    J'utilise CreateThread qui se situant plus bas niveau n'a pas ce désavantage.

    Je ne veux pas dénigrer non plus les MFC qui répondent à un besoin et que j'utilise mais dont il faut aussi connaitre les limites. Pour toute la gestion thread, j'ai choisi de ne pas utiliser les MFC.

    Pour info, j'utilise en plus du MSDN, le SDK de windows pour avoir des infos. Les deux sont complementaires.

    a+

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

Discussions similaires

  1. Différence entre un "bidouilleur" et un Pro ?
    Par christ_mallet dans le forum Débats sur le développement - Le Best Of
    Réponses: 290
    Dernier message: 28/11/2011, 10h53
  2. Réponses: 5
    Dernier message: 11/12/2002, 12h31
  3. Différence entre TCP, UDP, ICMP
    Par GliGli dans le forum Développement
    Réponses: 1
    Dernier message: 13/09/2002, 08h25
  4. Différences entre jmp, jz, jnz, etc
    Par christbilale dans le forum Assembleur
    Réponses: 3
    Dernier message: 05/07/2002, 15h09
  5. Réponses: 3
    Dernier message: 07/05/2002, 16h06

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