Thread

Signaler
Messages postés
223
Date d'inscription
mercredi 31 mai 2006
Statut
Membre
Dernière intervention
5 mai 2014
-
Messages postés
223
Date d'inscription
mercredi 31 mai 2006
Statut
Membre
Dernière intervention
5 mai 2014
-
Salut !

Je connais un peu les thread, qui permettent de démarrer plusieurs processus en même temps, s'executant alternativement, qui peuvent s'attendre à l'arrivée.
Je vous explique maintenant ce que j'aimerais faire : J'ai un formulaire qui, lors de son chargement, parcours un dossier sur le réseau afin de répertorier tout les sous dossiers (contenant des mp3) et récupère tous les tags des mp3. Le problème c'est que l'ouverture de ce formulaire nécessite un dizaine de minute ...
Est ce que vous pensez qu'en utilisant des thread, je pourrais faire charger mon formulaire (de manière à ce que l'on puisse commencer à s'en servir), et que je puisse faire mon parcours de dossier en parallèle ? Il faudrait en fait  que mon formulaire s'affiche, que l'utilisateur aie la main, puis qu'il remplisse une datagridviewbox après avoir donné la main.

Merci d'avance pour le coup de pouce ...

MMN

6 réponses

Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
41
Salut, en fait la classe Thread démarre des threads et non des processus, c'est les processus qui contiennent les threads. ; )

Sinon oui pour ce que tu veux faire, il faut lancer un second thread.
Messages postés
223
Date d'inscription
mercredi 31 mai 2006
Statut
Membre
Dernière intervention
5 mai 2014

OK alors je m'y tente ...

MMN
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
41
Tu peux regarder aussi la classe BackgroundWorker.
Messages postés
223
Date d'inscription
mercredi 31 mai 2006
Statut
Membre
Dernière intervention
5 mai 2014

Dans quelle librairie je peux trouver cette classe ?? J'arrive pas à mettre la main dessus ...

MMN
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
58
Elle est seulement là en .NET 2.
Et elle se trouve dans la toolbox par défaut ...

<hr size="2" />VC# forever
Messages postés
223
Date d'inscription
mercredi 31 mai 2006
Statut
Membre
Dernière intervention
5 mai 2014

OK...

private
BackgroundWorker BW =
new
BackgroundWorker();

BW.RunWorkerAsync( ??? object ???);

Tu peux m'aider à compléter ?

Je t'explique mieux ce que je veux faire.
Actuellement ,sans thread, j'ouvre un formulaire, et sur son ouverture, j'execute
AfficherRepertoires(); //Affiche tous les rep d'un dossier dans une datagridviewbox
AfficherTags(); //Affiche les tags des mp3 de ce rep dans une datagridviewbox

Ca me fige l'ouverture du formulaire pendant 10 min (4000 mp3)

Ce que je veux :
Mon formulaire s'ouvre, j'ai la main et peut commencer à compléter des données.
Pendant ce temps, mes 2 datagridviewbox se remplissent l'une après l'autre sans empécher l'utilisateur de commencer à remplir les textbox.
Si c'est possible, j'aimerais faire un petit form "chargement des répertoires et tags en cours ..." en plus !

Merci d'avance, ca me filerai un gros coup de pouce

MMN