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 :

probleme de thread


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Septembre 2002
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 1
    Par défaut probleme de thread
    Bonjour à tous.

    je vous écrit car j'ai un probléme de evenment et donc implicitement de thread. Je m'explique :
    J'utilise un module qui déclenche un evenment lorsque l'utilisateur fait un mouseDown. Le probleme est que je dois faire patienter ce thread jusqu'à l'arrivé d'une autre action de l'utilisateur qui decidera de l'action à faire (celle-ci intervient au max à 400 ms aprés).

    Le probléme c'est que je ne peut pas faire attendre ce thread par un timer car la classe Timer est multi-threadé (cela implique que l'evenment en cours se termine, pour laisser la place a un autre evenment. Or je ne peut pas terminer la méthode en cours).

    Un sleep ne peut pas marcher car il bloque le thread mais aussi tous le programme.

    Un monitor ou un mutex ne marche pas car comme tous sont des evenment utilisateur, cela implique que ce sont tous des thread different. Or avec un monitor ou un mutex on peut prendre une ressource pour la bloquer, mais on ne peut la libéré que par le meme thread (et donc par le evenment)

    Derniere chose, il n'est bien evidement pas possible d'heriter de ce module pour surchargé les methodes invoqué lors du déclenchement d'un evenment : c'est un activeX importer dans dotnet via aximp, il n'est pas conforme au CLR.

    Donc, si quelqu'un a une idée je suis prenneur.

    merci à tous (au moins d'avoir pris le temps de lire le message jusqu'aux bout. )

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 138
    Par défaut
    Salut,

    Je ne sais pas si j'ai tout saisi, mais idée (peut-être complètement pas bonne du tout )
    - déclencher un timer sur le mousedown qui check tous les "x" si l'utilisateur a réalisé l'action attendue. Lorsque l'action arrive, gérer alors ce qu'il faut faire (dans le code du tick).

  3. #3
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    (lu en diagonale)
    les timers de windows.forms ne sont pas vraiment multithreadés
    ceux de system.timers le sont un peu plus

    sinon regarde vers system.threading.manualresetevent je crois
    tu declare une variable privée de ce type
    dans un thread tu fais .waitone
    et dans l'autre tu fais .reset et là ca débloque celui qui attendait sur la ligne .waitone
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

Discussions similaires

  1. Probleme de threads et de pipes
    Par Marc san dans le forum C
    Réponses: 7
    Dernier message: 22/02/2006, 21h32
  2. Probleme de threads
    Par cryptorchild dans le forum Langage
    Réponses: 7
    Dernier message: 02/02/2006, 02h27
  3. Problème de threads avec pthread_create
    Par 180degrés dans le forum Linux
    Réponses: 6
    Dernier message: 19/12/2005, 12h07
  4. Probleme fermeture Thread
    Par Raton dans le forum MFC
    Réponses: 4
    Dernier message: 29/09/2005, 09h51
  5. [Kylix] Problème de thread
    Par moltov dans le forum EDI
    Réponses: 1
    Dernier message: 22/06/2005, 13h28

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