title: Async Task vs Task
body: <p>There is Async method <code>FuncAsync</code> and Task object t.
  Both are doing same thing, both using the thread pool.
  What's difference between these two strategies?</p>
  
  <pre><code>class Program
  {
      private static async Task&lt;int&gt; FuncAsync(string str)
      {
          string s = await Task.Run(() =&gt;
          {
              Console.WriteLine("{0} &lt;- Pooled?  ID -&gt; {1}", Thread.CurrentThread.IsThreadPoolThread, Thread.CurrentThread.ManagedThreadId);
            //  Thread.Sleep(1000);
              return str;
          });
          return s.Length;
  
      }
  
      public static void Main(string[] args)
      {
          Task&lt;int&gt; z = FuncAsync("Text");
          Console.WriteLine(z.Result);
          Task&lt;int&gt; t = Task.Run(() =&gt;
          {
              Console.WriteLine("{0} &lt;- Pooled?  ID -&gt; {1}", Thread.CurrentThread.IsThreadPoolThread, Thread.CurrentThread.ManagedThreadId);
              //  Thread.Sleep(1000);
              return "Text".ToString().Length;
          });
          Console.WriteLine(t.Result);
          Thread.CurrentThread.Join(1000);
  
          Console.ReadLine();
  
      }
  }
  </code></pre>
  
  <p>I think that with Async method waiting Result and can not be close without finish task,
  and with Task -  thread is background and may be closed without finish task.</p>