Vous êtes actuellement hors ligne, en attente de reconnexion à Internet.

Comment créer un thread à l'aide de Visual C#

IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d’articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d’avoir accès, dans votre propre langue, à l’ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s’exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s’efforce aussi continuellement de faire évoluer son système de traduction automatique.

La version anglaise de cet article est la suivante: 815804
Pour une version de Microsoft Visual Basic .NET de cet article, voir 315577.


Cet article fait référence à l'espaces de noms bibliothèque de classes Microsoft .NET Framework suivants :
  • System.Threading


DE CETTE TÂCHE

Résumé
Vous pouvez écrire des applications multithread dans Visual C# .NET ou dans Microsoft Visual C#. Cet article décrit comment une application Visual C# simple peut créer et gérer des threads.

back to the top

Configuration requise

La liste suivante met en évidence le matériel recommandé, logiciel infrastructure réseau et service packs dont vous avez besoin :
  • Microsoft Windows 2000, Microsoft Windows XP ou Microsoft Windows Server 2003
  • Microsoft Visual C# .NET ou Microsoft Visual C# 2005
Cet article suppose que vous êtes familiarisé avec les sujets suivants :
  • Visual C# programmation
  • Visual Studio .NET intégrée de développement environnement (IDE) ou Visual Studio 2005 IDE
back to the top

Créer une application Visual C# avec les threads

  1. Démarrez Microsoft Visual Studio .NET, Microsoft Visual Studio 2005 ou Microsoft Visual C# 2005 Express Edition.
  2. Créez un nouveau projet de Visual application de Windows Visual c# nommé ThreadWinApp.
  3. Ajouter un contrôle de bouton à l'écran. Par défaut, le bouton se nomme Button1 .
  4. Ajouter un composant de ProgressBar au formulaire. Par défaut, la barre de progression est appelée ProgressBar1 .
  5. Cliquez avec le bouton droit sur le formulaire, puis cliquez sur Afficher code .
  6. Ajoutez l'instruction suivante au début du fichier:
    using System.Threading;
  7. Ajoutez le suivant Gestionnaire clic d'événements de Bouton1 :
    private void button1_Click(object sender, System.EventArgs e){	MessageBox.Show("This is the main thread");}
  8. Ajoutez la variable suivante à la classe Form1 :
    private Thread trd;
  9. Ajoutez la méthode suivante à la classe Form1 : private
    private void ThreadTask(){	int stp;	int newval;	Random rnd=new Random();	while(true)	{		stp=this.progressBar1.Step*rnd.Next(-1,2);		newval = this.progressBar1.Value + stp;		if (newval > this.progressBar1.Maximum)			newval = this.progressBar1.Maximum;		else if (newval < this.progressBar1.Minimum)			newval = this.progressBar1.Minimum;				this.progressBar1.Value = newval;		Thread.Sleep(100);	}}
    Remarque c'est le code qui se trouve sous le thread. Ce code est un infini boucle cette incréments de façon aléatoire ou diminue la valeur ProgressBar1 et puis attente 100 millisecondes avant elle continue.
  10. Ajoutez le gestionnaire de événement chargement suivant de pour Form1 . Ce code crée un nouveau thread, effectue le thread d'un thread d'arrière-plan et démarre le thread.
    private void Form1_Load(object sender, System.EventArgs e){	Thread trd = new Thread(new ThreadStart(this.ThreadTask));	trd.IsBackground = true;	trd.Start();}
back to the top

Vérifier qu'il fonctionne

  1. Générez et exécutez l'application. Notez que la valeur ProgressBar1 change aléatoire. Ceci est le thread nouveau dans opération.
  2. Pour montrer que le thread principal est indépendant du thread qui modifie la valeur de ProgressBar1 , cliquez sur le bouton du formulaire. Une boîte de dialogue avec les message d'erreur suivant s'affiche :
    This is the main thread
Attendez qu'entrée. Notez que la valeur ProgressBar1 continue à modifier.

back to the top

Résoudre les problèmes

Dans les applications plus complexes, vérifiez que vous synchroniser plusieurs threads lorsque vous accédez aux variables partagés. Pour plus d'informations, voir l'instruction de verrouillage et les rubriques connexes dans la documentation d'aide en ligne de Visual C# .NET.

back to the top
Références
Pour plus d'informations, visitez le site de Web Microsoft suivant ou la documentation .NET Framework SDK :

Avertissement : cet article a été traduit automatiquement

Propriétés

ID d'article : 815804 - Dernière mise à jour : 08/20/2007 08:43:19 - Révision : 2.10

Microsoft Visual C# .NET 2002 Initiation, Microsoft Visual C# .NET 2003 Initiation, Microsoft ADO.NET 1.0, Microsoft Common Language Runtime (included with the .NET Framework) 1.0, Microsoft Visual C# 2005 Express Edition

  • kbmt kbnamespace kbthreadsync kbthread kbhowtomaster KB815804 KbMtfr
Commentaires
nt.getElementsByTagName("head")[0].appendChild(m);