Simple Complete Threading Demo using Tasks C# with Example
class Program { static void Main(string[] args) { // Run 2 Tasks. var task1 = Task.Run(() => PerformAction(1))); var task2 = Task.Run(() => PerformAction(2))); // Wait (i.e. block this thread) until both Tasks are complete. Task.WaitAll(new [] { task1, task2 }); Console.WriteLine("Done"); Console.ReadKey(); } // Simple method to help demonstrate the threads running in parallel. static void PerformAction(int id) { var rnd = new Random(id); for (int i = 0; i < 100; i++) { Console.WriteLine("Task: {0}: {1}", id, i); Thread.Sleep(rnd.Next(0, 1000)); } } }