System.Threading.Thread monThread;
mon thread = new Thread(new ThreadStart(uneMéthode));
ThreadStart est un délégué, un objet qui sert à encapsuler une méthode de façon à ce qu'elle puisse être passée en paramètre (similaire à un foncteur en C++). On passe un ThreadStart au constructeur du Thread. Lorsque le Thread sera démarré (ce qui n'est pas le cas uniquement parce qu'il a été instancié), la méthode encapsulée dans le ThreadStart sera lancée. On peut y mettre n'importe quelle méthode qui n'accepte pas de paramètre et qui retourne void. En effet, un délégué a une signature et seules les méthodes ayant la même signature peuvent y être placées. On ne peut pas non plus passer une méthode d'instance à un ThreadStart (par exemple: new ThreadStart(monObjet.méthode) est invalide. Par contre: new ThreadStart(maClasse.méthode) est valide si méthode est statique).
monThread.Start();
monThread.Abort();
Ceci l'arrête abruptement.
monThread.Suspend(); monThread.Resume();
Thread.Sleep(int millisecondes);
Cette méthode statique ne peut être appelé qu'à l'intérieur du thread lui-même - un thread ne peut pas en faire dormir un autre.
monThread.Join()
Méthode bloquante qui termine lorsque le thread se termine par lui-même. Join ne demande rien au thread, elle fait juste attendre.
monThread.Priority = ThreadPriority.AboveNormal;
ThreadPriority est un enum qui contient les valeurs Highest, AboveNormal, Normal, BelowNormal, Lowest.
monThread.IsBackground = true;
Un thread en background sera automatiquement terminé quand le thread principal terminera. Dans le cas contraire, des threads peuvent rester actifs et devenir des processus fantômes. Utilisez le gestionnaire des tâches pour les éliminer (ils porteront le nom d'exécutable de votre programme).