Advertisement
Noseratio

SO-18577504

Sep 2nd, 2013
266
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.00 KB | None | 0 0
  1. // http://stackoverflow.com/questions/18577504/y-style-task-execution
  2.  
  3. static DateTime _startTime;
  4.  
  5. private static async Task Task1(Task task)
  6. {
  7.     await task.ConfigureAwait(false);
  8.     await Task.Delay(2000).ConfigureAwait(false);
  9.     Console.WriteLine("Task1, lapse: {0}, thread: {1}", (DateTime.Now-_startTime).TotalMilliseconds, Thread.CurrentThread.ManagedThreadId);
  10. }
  11.  
  12. private static async Task Task2(Task task)
  13. {
  14.     await task.ConfigureAwait(false);
  15.     await Task.Delay(2500).ConfigureAwait(false);
  16.     Console.WriteLine("Task2, lapse: {0}, thread: {1}", (DateTime.Now - _startTime).TotalMilliseconds, Thread.CurrentThread.ManagedThreadId);
  17. }
  18.  
  19. private static async Task Test3()
  20. {
  21.     _startTime = DateTime.Now;
  22.     var task = Task.Delay(1000);
  23.     var task1 = Task1(task);
  24.     var task2 = Task2(task);
  25.     await Task.WhenAll(task1, task2);
  26.     Console.WriteLine("All finished, lapse: {0}, thread: {1}", (DateTime.Now - _startTime).TotalMilliseconds, Thread.CurrentThread.ManagedThreadId);
  27. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement