begin process at 2012 02 11 10:36:50
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

.NET

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

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


 Information sur la source

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
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é :10 987 / 1 163

Auteur : SharpMao

Ecrire un message privé
Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
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.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

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.

 Sources du même auteur

Source avec Zip Source .NET (Dotnet) DEEPZOOMAPI
Source avec Zip Source avec une capture Source .NET (Dotnet) LECTURE LIGNE PAR LIGNE DE LA SORTIE STANDARD D'UN PROGRAMME...
Source avec Zip Source avec une capture Source .NET (Dotnet) EDITEUR HEXADÉCIMAL
Source .NET (Dotnet) LES DIRECTIVES DE PRE-PROCESSING
Source avec une capture Source .NET (Dotnet) VISUALISATION DES CLASSES DU FRAMEWORK

 Sources de la même categorie

Source avec Zip Source avec une capture Source .NET (Dotnet) ORIONBANQUE par toutphp
Source avec Zip Source avec une capture Source .NET (Dotnet) ORIONAPPLICATION par toutphp
Source avec Zip SOCKET CONNEXION CLIENT & SERVEUR par ziedto83
Source avec Zip Source .NET (Dotnet) FFMPEG.NET : WRAPPER .NET DE FFMPEG par MasterShadows
Source avec Zip Source .NET (Dotnet) ATTACHER, CRÉER ET SAUVEGARDER UNE BASE DE DONNÉES SQL SERVE... par Alvepinai

 Sources en rapport avec celle ci

Source avec Zip Source .NET (Dotnet) AFFICHAGE DE VALEUR PROVENANT D'U THREAD DANS UN FORMULAIRE par Nyuki
Source avec Zip Source avec une capture Source .NET (Dotnet) [SILVERLIGHT] UN GÉNÉRATEUR INTERACTIF D'ARBRES DE HUFFMAN par loudadyassine
Source avec Zip Source .NET (Dotnet) [WPF] GÉNÉRATEUR DE DOCUMENT XPS MULTIPAGES. par MasterShadows
Source avec Zip Source avec une capture Source .NET (Dotnet) CLIENT IRC QUI LIT À VOIX HAUTE par pigedanslelac
Source avec Zip Source .NET (Dotnet) THREADWORKER par krimog

Commentaires et avis

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

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.

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.

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.

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 ?

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.

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.

Commentaire de Lutinore le 11/08/2005 22:41:35 administrateur CS

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

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


Discussions en rapport avec ce code source dans le forum

Thread [ par Bidou ] Bonjour,Petite question pour les spécialistes des Threads :j'utilise un object comme ceci:X x = new X();x.DoInThread();X est une classe qui possède do Problème de thread et event [ par zobio ] Voila, je cherche a lancer un thread secondaire &#224; partir de mon thread principal, jusque la pas de soucis. Ensuite je voudrais que lorsque mon th Thread [ par Equinox84 ] Bonjour : Est ce qu'il est possible de lancer une m&#233;thode via un thread diff&#233;rent que celui dans lequel on est ? Si oui comment ? --&gt; datagrid winform intercepté event textchanged [ par pilos ] Salut,je souhaite intercepter l'evennement "textchanged" sur une cellule de datagrid winform.mon datagrid a 2 colonnes, l'utilisateur peut saisir la p Probleme thread ==> Crossed Thread [ par julbuttt ] Bonjour, voila en faite j'utilise deux thread qui s'executent en //, un qui sert a l'emission de données et l'autre a la reception . Je recupere les d Thread : un code en vs2003 vers vs2005 [ par cedoli ] Salut &#224; tous.J'utilise un thread pour aller lire le code source d'une page HTML et l'afficher dans un TB.void go() &nbsp;&nbsp;&nbsp; &nbsp;&nbsp Controler un thread en ne connaissant que son nom [ par fcolo ] Bonjour,je r&#233;alise une application (pour le fun) qui lance 100 thread en parallele.Chaque thread devra ex&#233;cuter le m&#234;me code.Dans ce co Focus sur un Formulaire créé dans un Thread [ par AlexBob789 ] <TD id=HB_Focus_Element vAlign=top width="100%" background="" height=250 UNSELECTAB ouvrir une form enfant dans un thread différent [ par bossun ] salut,Dans une appli MDI, ne veux ouvrir mes feilles enfants dans un thread différent à chaque fois. donc je voudrais utiliser le backgroudnworker pou Pbm de gestion d'event!!? [ par ratsimisampy ] salut &#224; tous!voici mon probl&#232;me lors du d&#233;ploiment de mon appli sur poste client:&nbsp; j'ai un event double-click qui normalement ,per


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,012 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales