Share via


Multithreading, exemple

Mise à jour : novembre 2007

Cette solution montre comment utiliser plusieurs threads pour obtenir l'accès concurrentiel dans les tâches.

Pour obtenir des exemples et leurs instructions d'installation

  • Effectuez une ou plusieurs des opérations suivantes :

    • Dans le menu ? (Aide), cliquez sur Exemples.

      Le fichier Readme contient des informations sur les exemples.

    • Accédez au site Web Exemples Visual Studio 2008. La version la plus récente des exemples est disponible sur ce site.

    • Recherchez les exemples sur l'ordinateur sur lequel Visual Studio est installé. Par défaut, les exemples et un fichier Readme sont installés sous lecteur:\Program Files\Microsoft Visual Studio 9.0\Samples\1036. Pour les versions Express de Visual Studio, tous les exemples sont disponibles en ligne.

Pour plus d'informations, consultez Recherche des fichiers d'exemple.

.

Note de sécurité :

Cet exemple de code est destiné à illustrer un concept ; il présente uniquement le code qui se rapporte spécifiquement à ce concept. Il est possible qu'il ne réponde pas aux exigences de sécurité d'un environnement spécifique, et ne doit pas être utilisé exactement comme indiqué. Nous vous recommandons d'ajouter du code de sécurité et de gestion des erreurs afin de renforcer la sécurité et la fiabilité de vos projets. Microsoft fournit cet exemple de code « EN L'ÉTAT » sans aucune garantie.

Pour exécuter cet exemple

  • Appuyez sur F5.

Démonstrations

Cet exemple exécute une tâche nécessitant du temps sur un thread séparé, lancée en cliquant sur un bouton :

  • Exécution sur le même thread La tâche s'exécute sur le même thread que le formulaire principal. Cela empêche l'utilisateur d'interagir avec le formulaire principal avant que la tâche ne soit terminée. Aucun code multithread n'est nécessaire pour cette tâche.

  • Exécution sur un pool de threads de travail La tâche utilise la méthode BeginInvoke créée par le compilateur pour que tous les délégués exécutent la tâche.

  • Travail d'arrière-plan Cette tâche utilise le BackgroundWorker, composant pour créer un nouveau thread.

Cet exemple n'inclut pas de synchronisation, parce que les threads multiples n'accèdent à aucune donnée.

Voir aussi

Concepts

Vue d'ensemble de la programmation asynchrone

Référence

Delegate, instruction

DebuggerStepThroughAttribute

AppDomain.GetCurrentThreadId

Thread

Autres ressources

Programmation asynchrone à l'aide de délégués