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 :

[Visual C#] Reprise de threads bloqués


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 144
    Points : 45
    Points
    45
    Par défaut [Visual C#] Reprise de threads bloqués
    Bonjour à tous,
    J'ai lu que des threads bloqués par un Wait ou un lock ne repartent pas systématiquement dans leur ordre d'arrivée.
    Existe-t-il un moyen pour forcer des threads bloqués à redémarrer dans leur ordre d'arrivée ? Est-il possible de faire une instruction du type Set(x) ou Signal(x) afin de redémarrer un thread spécifié ?
    Merci d'avance pour vos réponses.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 144
    Points : 45
    Points
    45
    Par défaut
    Je relance car je n'ai pas trouvé de solution.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    547
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 547
    Points : 627
    Points
    627
    Par défaut
    Citation Envoyé par levalp Voir le message
    Bonjour à tous,
    J'ai lu que des threads bloqués par un Wait ou un lock ne repartent pas systématiquement dans leur ordre d'arrivée.
    Existe-t-il un moyen pour forcer des threads bloqués à redémarrer dans leur ordre d'arrivée ? Est-il possible de faire une instruction du type Set(x) ou Signal(x) afin de redémarrer un thread spécifié ?
    Merci d'avance pour vos réponses.
    Salut,

    oui bien sur, il faut utiliser les events (EventWaitHandle). Cela te permettra de refaire partir tes threads (.Set()) dans l'ordre que tu souhaites.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 144
    Points : 45
    Points
    45
    Par défaut
    Citation Envoyé par SirJulio Voir le message
    Salut,

    oui bien sur, il faut utiliser les events (EventWaitHandle). Cela te permettra de refaire partir tes threads (.Set()) dans l'ordre que tu souhaites.
    Je lis : "Set(): Définit l'état de l'événement comme étant signalé, ce qui permet à un ou plusieurs threads en attente de continuer."
    comment être sûr de quel thread va redémarrer ?? Vont-ils redémarrer dans leur ordre d'arrivée ?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 144
    Points : 45
    Points
    45
    Par défaut
    Salut,
    En fait j'ai résolu le problème par un genre de FIFO que j'ai programmé à la main.
    Merci quand même SirJulio pour ton aide.

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

Discussions similaires

  1. Visual Studio 2005 - debug thread
    Par Erakis dans le forum Windows Forms
    Réponses: 14
    Dernier message: 01/10/2009, 15h09
  2. ordre de reprise de threads bloqués
    Par duaner dans le forum C#
    Réponses: 19
    Dernier message: 05/07/2007, 15h52
  3. Réponses: 2
    Dernier message: 05/03/2007, 16h45
  4. pause et reprise de thread
    Par raggadoll dans le forum C++Builder
    Réponses: 5
    Dernier message: 12/07/2003, 10h50
  5. Pause et reprise d'un thread
    Par raggadoll dans le forum Linux
    Réponses: 5
    Dernier message: 03/07/2003, 20h22

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