namespace ThPool
{
class Program
{
private static long val = 0;
private static string obj = string.Empty;
static void Main(string[] args)
{
Thread objThread1 = new Thread(new ThreadStart(IncrementValue));
objThread1.Start();
Thread objThread2 = new Thread(new ThreadStart(IncrementValue));
objThread2.Start();
objThread1.Join();
objThread2.Join();
Console.WriteLine("val=" + val + " however it should be " + (10000000 + 10000000));
Console.ReadLine();
}
private static void IncrementValue()
{
for (int i = 0; i < 10000000; i++)
{
Monitor.Enter(obj);
val++;
Monitor.Exit(obj);
}
}
}
}
¿Cómo uso ThreadPool
clase en sustitución del hilo & monitor?Cómo utilizar la clase ThreadPool
Hola huda ¿Puedes formatear esto un poco mejor? –
recuerde proteger el interior de sus métodos de trabajo con try-catch porque las excepciones en los subprocesos de trabajo simplemente matan silenciosamente el hilo –