fork download
  1. using System;
  2. using System.Text;
  3. using System.Threading;
  4. using System.Threading.Tasks;
  5.  
  6. namespace ConsoleApp1
  7. {
  8. class Program
  9. {
  10. static void Main(string[] args)
  11. {
  12. new Program().boot(args);
  13.  
  14. Console.WriteLine("(5)Sleep begin");
  15. Thread.Sleep(10 * 200);
  16. Console.WriteLine("(6)Sleep end");
  17. }
  18.  
  19. public async void boot(string[] args)
  20. {
  21. Console.WriteLine("(1)boot begin");
  22.  
  23. await TestFuncAsync();
  24.  
  25. Console.WriteLine("(4)boot end");
  26. }
  27.  
  28. public async Task TestFuncAsync()
  29. {
  30. Console.WriteLine("(2)TestFuncAsync begin");
  31.  
  32. await Task.Run(() =>
  33. {
  34. StringBuilder sb = new StringBuilder();
  35.  
  36. for (int i = 0; i < 100; i++)
  37. {
  38. sb.Append('a');
  39. Thread.Sleep(10);
  40. }
  41.  
  42. Console.WriteLine(sb);
  43. });
  44.  
  45. Console.WriteLine("(3)TestFuncAsync end");
  46. }
  47. }
  48. }
  49.  
Success #stdin #stdout 0.04s 25420KB
stdin
Standard input is empty
stdout
(1)boot begin
(2)TestFuncAsync begin
(5)Sleep begin
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
(3)TestFuncAsync end
(4)boot end
(6)Sleep end