static void TaskWithResult() { var task = Task <int> .Factory.StartNew(() => SlowOperation.Process()); int i = task.Result; Console.WriteLine(i); }
static async Task <int> AsyncTaskWithReturnValue() { Console.WriteLine("Start"); int result1 = await Task <int> .Factory.StartNew(() => SlowOperation.Process()); Console.WriteLine("First value back"); int result2 = await Task <int> .Factory.StartNew(() => SlowOperation.Process()); Console.WriteLine("Second value back"); return(result1 + result2); }
static async void AsyncTaskWithResult() { int result = await Task <int> .Factory.StartNew(() => SlowOperation.Process()); Console.WriteLine(result); }
static void TaskVersionOneLine() { Task.Factory.StartNew(() => Console.WriteLine(SlowOperation.Process())); }
static void TaskVersion() { var task = new Task(() => Console.WriteLine(SlowOperation.Process())); task.Start(); }
static void PerformSlowOperationThreadPool(object state) { Console.WriteLine(SlowOperation.Process()); }
static void PerformSlowOperation() { Console.WriteLine(SlowOperation.Process()); }