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 :
Comment : créer et terminer des threads (Guide de programmation C#)
Comment : utiliser un pool de threads (Guide de programmation C#)
Comment : synchroniser un thread producteur et un thread consommateur (Guide de programmation C#)
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
Référence
Délégués (Guide de programmation C#)