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(); } } }
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5