//CREDIT AND THANKS TO: learn.microsoft.com static void Main() { try { Parallel.Invoke( LaPrimaAzione, () => { Console.WriteLine("Method=2 - Thread={0}", Thread.CurrentThread.ManagedThreadId); }, delegate() { Console.WriteLine("Method=3 - Thread={0}", Thread.CurrentThread.ManagedThreadId); } ); } catch (AggregateException e) { Console.WriteLine("ERROR: {0} \n", e.InnerException.ToString()); } } static void LaPrimaAzione() { Console.WriteLine("Method=1 - Thread={0}", Thread.CurrentThread.ManagedThreadId); }