Stex2010
Messages postés4Date d'inscriptionmercredi 30 juin 2010StatutMembreDernière intervention20 août 2010
-
30 juin 2010 à 07:54
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014
-
10 juil. 2010 à 14:46
Bonjour,
J'ai besoin d'exécuter simultanément plusieurs threads qui modifient un contrôle TextBox dans mon application (le journal d'activité de l'application). Etant un noob dans le multi-threading .Net, je me rends sur MSDN puis j'écris le code suivant :
delegate void UpdateJournalCallback(object texte);
private void UpdateJournal_Safe(object texte)
{
if (this.richTextBoxJournal.InvokeRequired)
{
UpdateJournalCallback c = new UpdateJournalCallback(UpdateJournal_Safe);
this.Invoke(c, new object[] { texte });
}
else
{
this.richTextBoxJournal.AppendText(texte + "\n");
Application.DoEvents();
}
}
Puis j'appelle cette méthode aux endroits où je dois mettre ce journal à jour de la façon suivante :
Thread t = new Thread(UpdateJournal_Safe);
t.Start("Statut");
t.Join();
(J'utilise Join() parce qu'il me permet de savoir que la tâche est terminée pour pouvoir passer à la suite).
Ma question est peut-être stupide, mais il n'y a pas plus simple ?