为什么要使用Task.Run并立即等待而不是同步运行?

时间:2018-08-02 21:44:16

标签: c# asynchronous task

我正在看有关Task.Run的MSDN文档 https://msdn.microsoft.com/en-us/library/hh195051(v=vs.110).aspx

完整示例之一如下

using System;
using System.Threading;
using System.Threading.Tasks;

public class Example
{
   public static void Main()
   {
      ShowThreadInfo("Application");

      var t = Task.Run(() => ShowThreadInfo("Task") );
      t.Wait();
   }

   static void ShowThreadInfo(String s)
   {
      Console.WriteLine("{0} Thread ID: {1}",
                        s, Thread.CurrentThread.ManagedThreadId);
   }
}

启动任务然后立即等待时,似乎没有利用异步编程的优势。 Task.RunTask.StartTask.StartNew等上的所有MSDN文档示例如下所示。这只是糟糕的文档还是我缺少什么?

1 个答案:

答案 0 :(得分:0)

请阅读以下代码周围的解释性文字:

  

示例显示异步任务在与主应用程序线程不同的线程上执行。