begin process at 2008 07 23 23:36:10
1 215 381 membres
520 nouveaux aujourd'hui
14 174 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

GÉNÉRATION D'ÉVÈNEMENT À LA FIN D'UN THREAD


Information sur la source

Catégorie :.NET Source .NET ( DotNet ) Classé sous : évènement, thread, event, génération Niveau : Initié Date de création : 11/08/2005 Date de mise à jour : 12/08/2005 07:58:25 Vu / téléchargé: 7 062 / 968

Note :
9 / 10 - par 2 personnes
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note

Description

Hello,

J'ai fait cette source suite à une question de clairenes (http://www.csharpfr.com/forum.v2.aspx?ID=531792).
Il s'agit en fait de montrer comment déclencher un événement à la fin d'un Thread.
Ca n'est pas compliqué, il faut juste comprendre les Threads et les events.

Le programme en lui-même présente un fenêtre où l'on peut choisir un nombre de secondes, puis cliquer sur un bouton pour démarrer le Thread. Une fois le Thread finit, un event est levé, et le Thread principal afiche une MessageBox.

Conclusion

Dans le code, j'ai fait une boucle, car je trouvais que ça simulais mieux une longue opération plutôt que de faire Thread.Sleep(x * 1000);

Tout les commentaires sont les bienvenus.

Je l'ai mis dans la catégorie Astuces, mais si quelqu'un voit une meilleure catégorie, je suis ouvert.
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

12 août 2005 07:58:25 :
J'ai juste tenu compte du problème de cross-threading soulevé par Lutinore et résolu par Coq et Lutinore. Merci à eux deux.
  • signaler à un administrateur
    Commentaire de sebmafate le 11/08/2005 09:41:26 administrateur CS

    c'est pas trop une astuce... mais plus théorique... donc, je le déplace dans .NET

  • signaler à un administrateur
    Commentaire de SharpMao le 11/08/2005 09:46:02

    Pas de problèmes, comme je l'ai dis, je ne savais pas trop où le mettre.

  • signaler à un administrateur
    Commentaire de Lutinore le 11/08/2005 15:48:21 administrateur CS

    Tiens je ne savais pas, mais en .NET 2.0 acceder à la MessageBox c'est considéré comme du cross-threading, tu ne pouvais pas le voir avec VS 2003 mais en mode DEBUG avec VS 2005 une exception est levée.

    Les threads ont une propriété Name qui peut être sympa dans un exemple comme celui-ci.

  • signaler à un administrateur
    Commentaire de coq le 11/08/2005 21:24:18 administrateur CS

    Le problème c'est que justement la méthode associée à l'event est appelée dans le contexte du thread qui declenche, pas dans le thread principal.

  • signaler à un administrateur
    Commentaire de Lutinore le 11/08/2005 22:03:22 administrateur CS

    Ouaip ca c'est le problème du cross-threading, mais là c'est pas un contrôle c'est une MessageBox, alors pourquoi ?

  • signaler à un administrateur
    Commentaire de Lutinore le 11/08/2005 22:09:17 administrateur CS

    Si la ligne de la MessageBox est commentée y'a plus d'exception.

  • signaler à un administrateur
    Commentaire de coq le 11/08/2005 22:15:34 administrateur CS

    Dans l'exemple présent une surcharge avec le paramètre parent est utilisée, je suppose que ça peut entrainer le problème.

  • signaler à un administrateur
    Commentaire de Lutinore le 11/08/2005 22:41:35 administrateur CS

    Ouai bien vu, sans le this y'a plus d'exception !

  • signaler à un administrateur
    Commentaire de SharpMao le 12/08/2005 10:45:11

    Merci à tout les deux, c'est vrai que je ne l'avais pas testé avec le 2.0.
    J'ai mis une nouvelle version, sans le 'this'.

Ajouter un commentaire

Pub



Appels d'offres

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS