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 :

multi thread


Sujet :

MFC

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 123
    Points : 52
    Points
    52
    Par défaut multi thread
    hello tout le monde,

    j'ai un main et et une fonction de ce style
    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
     
    void fonct(void);
    int main(void)
    {
    .
    void fonct();
    c=a+b;
    ...
    return 0;
    }
    void fonct()
    {
    .
    ..
    }
    je veux que quand je lance la fonction "fonct" sans attend la fin de ceci, j'execute l'operation c=a+b;

    on ma dit qu'il faut voire les thread, mais c'est tellement vase que je suis un peu perdu.
    si on peut me donner un exemple ou qlq info svp.


    merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    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 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Sous Windows : CreateThread().
    Cela crée un second thread dans le fichier (main() tournant dans le thread principal) qui s'exécute "en même temps" que la suite du main.

    À propos de la fin d'un processus multithreadé, Voir aussi ceci:
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/terminating_a_process.asp
    A process executes until one of the following events occurs:
    • Any thread of the process calls the ExitProcess function.
    • The primary thread of the process returns.
    • The last thread of the process terminates.
    • Any thread calls the TerminateProcess function with a handle to the process.
    • For console processes, the default console control handler calls ExitProcess when the console receives a CTRL+C or CTRL+BREAK signal.
    • The user shuts down the system or logs off.
    La première ligne en gras indique que si la fonction main() retourne, tout le processus se termine (même si l'autre thread n'est pas fini). Pour éviter cela, il faut terminer main() par ExitThread() au lieu de return;
    La seconde ligne indique que le programme quitte quand tous ses threads se sont terminés.
    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.

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 123
    Points : 52
    Points
    52
    Par défaut
    oki merci bcp
    j'ai reussi a le cree le thread mais il y a un probleme.
    dans mon thread, il utilise le ddelm (fonction des DDE )
    le thread se lance bien mais les fonctions de communication entre mon programme (le serveur dde) et mon client s'etabli pas.

    voici la fonction utiliser dans ce thread :
    http://msdn.microsoft.com/library/de...postadvise.asp

    quelqu'un sera pourquoi, la communication ne fonction pas?? svp
    merci

Discussions similaires

  1. Tri multi-threadé
    Par Tifauv' dans le forum C
    Réponses: 8
    Dernier message: 28/06/2007, 09h00
  2. Réponses: 2
    Dernier message: 15/05/2004, 18h33
  3. Réponses: 16
    Dernier message: 30/01/2004, 11h05
  4. [VB6][active x] faire du multi-thread avec vb
    Par pecheur dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 20/05/2003, 12h01
  5. [Kylix] exception qtinft.dll et multi-threading
    Par leclaudio25 dans le forum EDI
    Réponses: 3
    Dernier message: 27/03/2003, 18h09

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