Torna al Thread
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
var waitHandle = new ManualResetEventSlim();
var t = new Thread(() =>
{
var timer = new System.Timers.Timer(1000);
timer.Elapsed += (sender, eventArgs) =>
{
Console.WriteLine("Elapsed event called!");
};
timer.Start();
waitHandle.Wait();
timer.Dispose();
Console.WriteLine("Timer fermato!");
});
t.Start();
Console.WriteLine("Stato del thread subito dopo lo start: {0}", t.ThreadState);
Console.WriteLine("Premi INVIO per fermare il timer...");
Console.ReadLine();
waitHandle.Set();
Console.WriteLine("Stato del thread subito lo spegnimento del timer: {0}", t.ThreadState);
Console.WriteLine("Premi INVIO per vedere lo stato del thread dopo la chiusure del metodo delegato...");
Console.ReadLine();
Console.WriteLine("Stato del thread subito dopo la chiusura del metodo delegato: {0}", t.ThreadState);
Console.WriteLine("Premi INVIO per chiudere l'applicazione...");
Console.ReadLine();
}
}
}