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

Visual C++ Discussion :

[Thread ] Thread bloqué


Sujet :

Visual C++

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2007
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 33
    Points : 33
    Points
    33
    Par défaut [Thread ] Thread bloqué
    Bonjour tout le monde,
    j'ai 1 thread qui fait du acquisition des données,
    et quand je ferme la fenetre, je voudrais arreter le thread, mais il reste bloquer une fois sur 30.

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
     
    DWORD WINAPI Thread_2(LPVOID lpParam)
    {
    .
        hEvent[0] = hStopEventReadPoint;
        hEvent[1] = hStartEventReadPoint;
        while(1)
        {
            iCode = WaitForMultipleObjects(2,hEvent,FALSE, INFINITE);
            if(iCode == WAIT_OBJECT_0)
            {
                ResetEvent(hStopEventReadPoint);
                break;
            }
                    else
                    {
                      .....
                     //traitement
                     m_StaticMessageDef.SetWindowText(str); //CStatic     m_StaticMessageDef;  <-------- ca bloque ici
                    }
            }
     
    }
     
     
    void DialogData::OnDestroy()
    {
     
     
     
        /* ==== Fermerture de thread d'acquisition des flux ==== */
        if (hStopEventReadPoint) 
        {
            SetEvent(hStopEventReadPoint);
            WaitForMultipleObjects(1, &hThread_ReadLastPointOfMAGChannel, TRUE, INFINITE);
        }
     
        CDialog::OnDestroy();
     
    }
    donc quand je ferme la fenetre, la OnDestroy est censé stoper le thread, mais il reste bloquer de temps en temps sur la ligne :
    -"m_StaticMessageDef.SetWindowText(str)" dans le thread
    -"WaitForMultipleObjects" dans le OnDestroy.

    j'ai un pros centrino inter Duo

    pourquoi reste t-il bloquer sur les ressources de windows? et comment corriger ce probleme svp ?

  2. #2
    Nouveau membre du Club
    Inscrit en
    Février 2007
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 33
    Points : 33
    Points
    33
    Par défaut
    probleme resolu, enfait, il faut fait un dipatchmessage dans le white.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 10/07/2009, 22h43
  2. Réponses: 8
    Dernier message: 11/03/2009, 17h38
  3. problème de Thread qui bloque ma Servlet
    Par need2learn dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 19/11/2008, 09h39
  4. [Threading] ca bloque sur un wait
    Par vahid dans le forum Java ME
    Réponses: 3
    Dernier message: 08/08/2007, 12h02
  5. Arreter un thread qui "bloque" sur un socket
    Par J-F dans le forum Concurrence et multi-thread
    Réponses: 2
    Dernier message: 12/12/2006, 00h04

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