Comment faire pour créer des threads dans Visual Basic .NET ou Visual Basic 2005

Traductions disponibles Traductions disponibles
Numéro d'article: 315577 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Résumé

Cet article décrit comment créer des threads dans une application Microsoft Visual Basic .NET ou Microsoft Visual Basic 2005 Windows. L'espace de noms System.Threading fournit les classes nécessaires pour travailler avec des threads.

Configuration requise

La liste suivante met en évidence le matériel recommandé, les logiciels, l'infrastructure réseau et service packs dont vous avez besoin :
  • Microsoft Windows 2000 ou Microsoft Windows XP
  • Microsoft Visual Basic .NET ou Microsoft Visual Basic 2005
Cet article suppose que vous maîtrisez les sujets suivants :
  • Programmation de Visual Basic .NET ou Visual Basic 2005 programmation
  • Visual Studio .NET ou Visual Studio 2005, environnement de développement intégré (IDE)
  • Maîtrise générale de délégués et du threading
  • Maîtrise générale de Visual Basic .NET ou Visual Basic 2005

Créer une application Visual Basic .NET ou Visual Basic 2005 avec threads

  1. Démarrez Microsoft Visual Studio .NET ou Microsoft Visual Studio 2005.
  2. Créez un nouveau projet Application Windows de Visual Basic nommé ThreadWinApp.
  3. Ajoutez un contrôle bouton au formulaire. Par défaut, le bouton est appelé Button1 .
  4. Ajouter un composant ProgressBar à l'écran. Par défaut, la barre de progression est appelée ProgressBar1 .
  5. Avec le bouton droit de la forme, puis cliquez sur Afficher le Code.
  6. Ajoutez l'instruction suivante au début du fichier :
    Imports System.Threading
    					
  7. Ajoutez le Gestionnaire d'événements Click suivant pour Button1:
    Private Sub Button1_Click( _
        ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles Button1.Click
    
        MessageBox.Show("This is the main thread")
    End Sub
    					
  8. Ajoutez la variable suivante à la classe Form1 :
    Private trd As Thread
    					
  9. Ajoutez la méthode suivante à la classe Form1 :
    Private Sub ThreadTask()
        Dim stp As Integer
        Dim newval As Integer
        Dim rnd As New Random()
    
        Do
            stp = ProgressBar1.Step * rnd.Next(-1, 2)
            newval = ProgressBar1.Value + stp
            If newval > ProgressBar1.Maximum Then
                newval = ProgressBar1.Maximum
            ElseIf newval < ProgressBar1.Minimum Then
                newval = ProgressBar1.Minimum
            End If
    
            ProgressBar1.Value = newval
    
            Thread.Sleep(100)
        Loop
    End Sub
    						
    Remarque: c'est le code qui se trouve sous le thread. Ce code est une boucle infinie qui incrémente ou décrémente aléatoirement la valeur ProgressBar1 et qui, après, attend 100 millisecondes avant de continuer.
  10. Ajoutez le Gestionnaire d'événements Load suivant de Form1. Ce code crée un nouveau thread, transforme le thread en un thread d'arrière-plan et puis démarre le thread.
    Private Sub Form1_Load( _
        ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles MyBase.Load
    
        trd = New Thread(AddressOf ThreadTask)
        trd.IsBackground = True
        trd.Start()
    End Sub
    					

Vérifiez qu'il fonctionne

  1. Générer et exécuter l'application. Remarquez que la valeur dans la barre de progression change de manière aléatoire. Il s'agit de la nouvelle thread dans l'opération.
  2. Pour montrer que le thread principal est indépendant de la thread qui modifie la valeur du contrôle ProgressBar , cliquez sur le bouton sur le formulaire. Une boîte de message affiche le message suivant :
    This is the main thread
    							
    Attente de l'entrée. Notez que la valeur de la barre de progression continue d'être modifié.

Résolution des problèmes

Dans des applications plus complexes, vérifiez que vous synchronisez les threads multiples lorsque vous accédez à des variables partagées. Pour plus d'informations, reportez-vous à l'instruction SyncLock et les rubriques connexes dans la documentation d'aide en ligne de Visual Basic.

Propriétés

Numéro d'article: 315577 - Dernière mise à jour: samedi 8 février 2014 - Version: 5.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Initiation
  • Microsoft Visual Basic .NET 2002 Initiation
Mots-clés : 
kbvs2005swept kbvs2005applies kbhowtomaster kbmt KB315577 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu d'une traduction automatique réalisée par un logiciel Microsoft et non par un traducteur professionnel. Cette traduction automatique a pu aussi être révisée par la communauté Microsoft grâce à la technologie Community Translation Framework (CTF). Pour en savoir plus sur cette technologie, veuillez consulter la page http://support.microsoft.com/gp/machine-translation-corrections/fr. Microsoft vous propose en effet des articles traduits par des professionnels, des articles issus de traductions automatiques et des articles issus de traductions automatiques révisées par la communauté Microsoft, de manière à ce que vous ayez accès à tous les articles de notre Base de connaissances dans votre langue. Il est important de noter que les articles issus de la traduction automatique, y compris ceux révisés par la communauté Microsoft, peuvent contenir des erreurs de vocabulaire, de syntaxe ou de grammaire. Microsoft ne pourra être tenu responsable des imprécisions, erreurs, ainsi que de tout dommage résultant d?une traduction incorrecte du contenu ou de son utilisation par les clients.
La version anglaise de cet article est la suivante: 315577
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com