Accueil > Forum > > > > Problème de thread et event
Problème de thread et event
lundi 17 janvier 2005 à 13:34:17 |
Problème de thread et event

zobio
|
Voila, je cherche a lancer un thread secondaire à partir de mon thread principal, jusque la pas de soucis. Ensuite je voudrais que lorsque mon thread secondaire se termine, le thread principal lance une fonction qui lui est propre. Ca semble être relativement basique puisque le principe est de sous traiter une partie de traitement et d'être avisé lorsque le taf est terminé. Pourtant je ne vois pas trop comment faire. J'ai essayé avec un event mais le principe de l'event delagate fait que le c'est le thread secondaire qui effectue lance la fonction ratachée a l'event donc ca ne marche pas... Si ce n'est pas assez clair je peux mettre un bout de code ... Merci d'avance.
|
|
lundi 17 janvier 2005 à 13:52:29 |
Re : Problème de thread et event
|
lundi 17 janvier 2005 à 14:35:15 |
Re : Problème de thread et event

Arthenius
|
en fait tu fais un thread.Start() et tu voudrais faire kkchose quand le thread a fini... donc apres ton thread.start() tu fais thread.join(); l'appli se met en attente de fin du thread et apres tu fais ton script...
Arthenius
"Il n'y a pas de mauvais développeurs,... mais uniquement de mauvais utilisateurs..."
|
|
lundi 17 janvier 2005 à 14:57:31 |
Re : Problème de thread et event

zobio
|
Merci de vos réponses, voila mes commentaires :
Pour Coq : Cette méthode est celle que j'avais utilisée au début, seulement ca ne peut pas fonctionner si ca ton fonction callback touche aux controles de ton formview. Si tu demandes a afficher un message ca marche nickel, si tu veux modifier le titre d'un bouton par exemple, ca plante message :
An unhandled exception of type 'System.InvalidOperationException' occurred in system.windows.forms.dll
Additional information: The action being performed on this control is being called from the wrong thread. You must marshal to the correct thread using Control.Invoke or Control.BeginInvoke to perform this action.
Pour Arthenius :
J'ai aussi essayé cette méthode mais ce n'est pas vraiment interressant. Pour moi le multithreading sert a permettre a l'utilisateur de pouvoir faire plusieurs choses en même temps, avec le Join l'appli est bloquée et le thread secondaire fait son taf, mais l'utilisateur est obligé d'attendre la fin pour reprendre la main... a moins que quelque chose ne m'ais echapé.. 
Pour le moment la seule solution acceptable que j'ai trouvé est de lancé un timer après le start du thread secondaire. je teste ensuite la propriété IsAlive du thread secondaire et quand elle passe a false je fais mon traitement. Je ne trouve pas ca terrible... 
Si ca vous avez d'autres idées ca m'interresse, je pense que tout ceux qui voudront un jour ou l'autre faire du threading seront confrontés a ce genre de galère...
|
|
lundi 17 janvier 2005 à 14:59:00 |
Re : Problème de thread et event
|
lundi 17 janvier 2005 à 15:02:53 |
Re : Problème de thread et event
|
lundi 17 janvier 2005 à 15:10:51 |
Re : Problème de thread et event

coq
|
.Net 1.1 ou 2.0 ?
Cocoricoooooooo !!!! coq MVP Visual C#
|
|
lundi 17 janvier 2005 à 15:18:55 |
Re : Problème de thread et event

zobio
|
Bein je suis en visual studio 2003 donc il me semble que c'est le framework 1.1
|
|
lundi 17 janvier 2005 à 15:48:00 |
Re : Problème de thread et event

Arthenius
|
Mx d'habitutde c coq kest a la bourre comme ca :o))) juste un conseil installe le sp1 du framework 1.1 pour eviter les surprises... avec les threads... sinon oui c vrai le join bloque l'appli.... :o((( et pkoi pas faire un autre thread qui ferais un while(monThread.Isaalive) { Thread.sleep(1000); } //Lance ma routine... note c pas tres difféernet du timer...
Arthenius
"Il n'y a pas de mauvais développeurs,... mais uniquement de mauvais utilisateurs..."
|
|
lundi 17 janvier 2005 à 16:16:32 |
Re : Problème de thread et event

zobio
|
Le service pack est installé. Par contre la j'ai un truc de ouf... je dois être neuneu... Petit rappel : Je crée un thread dans une fonction de mon FormView Principal. Le but est de faire une recherche de fichiers avec ce thread et de mettre a jour le formview principal une fois le thread secondaire terminé. Je lance un timer qui teste IsAlive du thread secondaire. (ca marche) Quand il est fini je lance une fonction de mon Formview et la j'ai encore une erreur, il me dit que le thread qui essaye de modifier le controle n'est pas le bon... Comment est ce possible sachant que je n'ai que deux threads et que le secondaire est mort. ??? Y a t'il un truc a faire pour dire quel est le thread actif (ce qui me semble abérent mais bon...)
|
|
Cette discussion est classée dans : problème, thread, principal, event, secondaire
Répondre à ce message
Sujets en rapport avec ce message
Thread + NetworkStream [ par JuS ]
Je vais vous exposer mon problème (c'est un peu long à lire et à comprendre...)Je programme un programme client/serveur.Le client, en C#, communique a
Problème de thread [ par oualla_mohamed ]
A partir d'un WinForm je lance un thread qui accède a un contôle de la WinForm.Le souci c'est qu'en je lance l'execution du programme à partir de Visu
Problème de thread, socket et form [ par Florynth ]
Bon pas très compliqué,j'ai créé un thread qui écoute un portaprès je pèse sur un bouton qui fait connectédonc il créé un socket le connect au port en
Problème de Thread [ par Bidou ]
Bonjour,Bon je suis pas encore tout à fait au point avec les Threads. La question est certainement pas très compliquée.J'ai une forme qui contient un
Problème de lancement de Thread sur PC d'un ami. [ par Kedaessa ]
Bonjour, j'ai creer un début d'application (Sous .Net 1.1). Mais lorsque je l'utilise sur le PC d'amis (où n'est installé que le framework 1.1), j'ai
Problème de thread (encore) [ par Bidou ]
En fait, je dois charger des données dans un Listview, et ca peut prendre du temps.Donc pendant le temps de chargement et d'affichage, j'affiche une f
Thread et control [ par RMI ]
Bonjour, Voila mon problème: J'ai une form avec un tabcontrol Les 2 premières tabpages sont rempli dans le load du winform la 3ème contenant un treev
Timer Thread ??? [ par Globinours ]
Voilà mon problème en fait j'ai une RichTextBox et j'effectue une opération assez longue sur l'évenement OnSelectionChanged. Ce que je voudrais c'est
Petit problèmeThread .net2 [ par gimli123 ]
Bonjour, je suis en train de faire un client irc... et j'avais voulu le faire avec le .net2, car je le trouve plus sympa pour les interfaces graphique
Problème de Form [ par emmanuel9 ]
Bonjour à tous, En faite je voudrais faire apparaitre une Form par dessus une autre pendant 3 seconde. Donc dans l'évenvement Load je fais Thread.sl
Livres en rapport
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|