Je suis nouveau en C# .J'ai appris que normalement tous les threads sont en premier plan jusqu'à ce que vous le spécifiiez explicitement comme thread "background" en utilisant IsBackGround = true.Threads d'arrière-plan en C#
Certains doutes sont apparus dans mon esprit.
1) Quel est l'avantage de garder un fil comme fil de fond?
2) Lors de l'exécution du code folowing:
static void Main(string[] args)
{
Thread worker = new Thread(SayHello);
worker.IsBackground = true;
worker.Start();
Console.WriteLine("Hello From Main");
}
static void SayHello()
{
Console.WriteLine("Hello World");
Console.ReadKey(true);
}
je dois utiliser worker.Join() pour garder le fil conducteur d'attendre que le programme se termine immédiatement. En dehors de Join() pourrais-je utiliser d'autres techniques pour faire patienter le thread principal?
Filetage en C# est une chose assez intéressante. Je recommande vivement le livre ClR via C# de Jeffrey Richter. Il a une explication du noyau de Windows sur le fonctionnement des threads en C#. Malheureusement, la plupart de ces concepts se retrouvent sur l'API de threading C++ Win32. – Spence
Vous allez avoir plus de plaisir avec la synchronisation des threads. Jetez un oeil sur le système.Threading.Semaphore, ManualResetEvent, AutoResetEvent, Mutex et les classes Interlocked. Ils sont tous très utiles pour faire des choses de threading. – Spence
Merci Spence Merci beaucoup. Je vais y jeter un coup d'oeil. – user186973