Soy nuevo en C#. Aprendí que normalmente todos los subprocesos están en primer plano hasta que a menos que lo especifique explícitamente como subproceso "de fondo" utilizando IsBackGround = verdadero.Subprocesos de fondo en C#
Algunas dudas aparecieron en mi mente.
1) ¿Cuál es la ventaja de mantener un hilo como hilo de fondo?
2) Cuando se ejecuta el código 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);
}
i necesidad de utilizar worker.Join() para mantener el hilo principal para esperar que el programa termina inmediatamente. Además de Join(), ¿podría utilizar otras técnicas para mantener el hilo principal en espera?
enhebrar en C# es algo bastante interesante. Recomiendo encarecidamente el libro ClR via C# de Jeffrey Richter. Tiene una explicación del kernel de Windows sobre cómo funcionan los hilos en C#. Desafortunadamente, muchos de estos conceptos recaen en C++ Win32 threading api. – Spence
Te divertirás más con la sincronización de subprocesos. Eche un vistazo al Sistema.Threading.Semaphore, ManualResetEvent, AutoResetEvent, Mutex y clases entrelazadas. Todos son muy útiles para hacer threading cosas. – Spence
Gracias Spence Muchas gracias. Lo echaré un vistazo. – user186973