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

Windows Forms Discussion :

[C#] Attente fin de thread


Sujet :

Windows Forms

  1. #1
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    324
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 324
    Par défaut [C#] Attente fin de thread
    Bonjour,
    dans mon appli je souhaite faire une tempo pour recuperer une valeur sur le port USB afin d'eviter un "freeze" de mon appli j'ai mis ma tempo et ma recuperation de valeur dans un autre thread.
    Mais le probleme est que je souhaite recuperer la valeur lu sur le port USB, mais je ne sais pas à quel moment le thread est fini (et donc par consequence je ne sais pas quand il a fini d'ecrire la valeur dans ma variable afin de la recupere).
    Reformulation de ma demande au clair : Existe t'il un moyen de savoir si un thread a fini son execution ?
    en gros :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Je creer un thread qui va faire une tempo puis une lecture du port usb puis ecrire le resultat dans une variable;
    je lance le thread ici;
    Attendre que le thread de lecture du port usb soit terminé pour :
    je lit la valeur que j'ai recuperer;

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 652
    Par défaut
    Ben tu tapes Thread, tu fais F1 et tu regardes la liste des propriétés et méthodes.
    Tu vas vite trouver ce dont tu as besoin.

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    324
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 324
    Par défaut
    J'ai vu la fonction Join() mais elle me fait un freeze de l'application, donc ça me va pas meme en mettant la propriete isBackGround à true.
    Alors si quelqu'un a un exemple concret de thread, ça seerait sympa de me donner une piste.

  4. #4
    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

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    324
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 324
    Par défaut
    Merci, mais mon probleme persiste, l'uilisation de Join() est reussie: elle attend bien la fin de mon thread; mais qui dit attendre, dit aussi freeze du thread en cours. Donc on attend la fin du thread et pendant cette periode la form n'es pas manipulable.

  6. #6
    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
    Dans ce cas utilise plutot un evenement pour signaler à ta form qu'elle peut récuperer le resultat du calcul.
    Comme ça tu n'as pas à attendre la fin du thread.
    @+

  7. #7
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 238
    Par défaut
    La solution la plus facile pour toi serait d'utiliser un BackGroundWorker.
    C'est le composant .Net qui remplace le Thread.
    Si tu veux pas t'embetter en faisant la gestion du Thread à la main tu peux utiliser ca. c'est pratique et tu as même un evenement "RunWorkerCompleted" qui se déclenche lorsque ton Travail est terminé.

    http://glarde.developpez.com/dotnet/bgworker/cs/

  8. #8
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    324
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 324
    Par défaut
    Merci bien pour le BGW je n'avais pas gratter de ce coté, c'est très pratique.

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

Discussions similaires

  1. Fin de thread
    Par DarkBear dans le forum C#
    Réponses: 8
    Dernier message: 31/05/2007, 15h21
  2. PostMessage et fin de thread
    Par titoine1978 dans le forum MFC
    Réponses: 8
    Dernier message: 26/05/2006, 22h50
  3. Fin de Thread
    Par Grey dans le forum MFC
    Réponses: 3
    Dernier message: 24/04/2006, 14h47
  4. Attendre la fin des threads fils d'un processus
    Par SteelBox dans le forum Windows
    Réponses: 15
    Dernier message: 24/02/2006, 16h08
  5. fenêtre d'attente dans un thread
    Par KRis dans le forum Langage
    Réponses: 3
    Dernier message: 25/08/2005, 10h29

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