Partager via


Thread (Guide de programmation C#)

Mise à jour : novembre 2007

Le threading permet à votre programme C# d'utiliser le traitement simultané qui vous permet d'effectuer plusieurs opérations à la fois. Par exemple, vous pouvez utiliser le threading pour surveiller l'entrée de l'utilisateur, exécuter des tâches en arrière-plan et gérer des flux de données simultanés d'entrée. L'espace de noms System.Threading fournit des classes et interfaces qui prennent en charge la programmation multithread et vous permettent d'effectuer facilement des tâches telles que la création et le démarrage de nouveaux threads, la synchronisation de plusieurs threads, l'interruption de threads et l'abandon de threads.

Pour incorporer le threading dans votre code C#, créez une fonction à exécuter à l'extérieur du thread principal et pointez un nouvel objet Thread dessus. L'exemple de code suivant crée un nouveau thread dans une application C# :

System.Threading.Thread newThread;
newThread = new System.Threading.Thread(anObject.AMethod);

L'exemple de code suivant démarre un nouveau thread dans une application C# :

newThread.Start();

Le multithreading résout les problèmes liés à la sensibilité et au traitement multitâche, mais peut également provoquer des problèmes de partage de ressources et de synchronisation, parce que les threads sont interrompus et repris sans avertissement selon un thread central qui planifie le mécanisme. Pour plus d'informations, consultez Synchronisation de threads (Guide de programmation C#). Pour des informations générales, consultez Utilisation des threads et du threading.

Vue d'ensemble

Les threads ont les propriétés suivantes :

  • Les threads permettent à votre programme C# d'utiliser le traitement simultané.

  • L'espace de noms System.Threading du .NET Framework facilite l'utilisation de threads.

  • Les threads partagent les ressources de l'application. Pour plus d'informations, consultez Utilisation des threads et du threading.

Rubriques connexes

Pour plus d'informations, consultez les rubriques suivantes :

Spécification du langage C#

Pour plus d'informations, consultez les sections suivantes dans Spécifications du langage C#.

  • 3.10 Ordre d'exécution

  • 8.12 L'instruction lock

  • 10.5.3 Champs volatiles

  • 10.8.1 Événements de type champ

Voir aussi

Tâches

Synchronisation de moniteurs, exemple de technologie

Synchronisation d'attente, exemple de technologie

Concepts

Guide de programmation C#

Mutex

Moniteurs

Opérations verrouillées

AutoResetEvent

Référence

Thread

Mutex

Délégués (Guide de programmation C#)

Autres ressources

Comment : synchroniser l'accès à une ressource partagée dans un environnement de multithreading à l'aide de Visual C# .NET