title: When do multiple awaits make sense?
body: <p>I have some misunderstanding with c# async/await mechanism.
  Is there any essential difference between</p>
  
  <pre><code>private async void Init()
  {
      await Task.Run(() =&gt; Do1());
      await Task.Run(() =&gt; Do2());
  }
  </code></pre>
  
  <p>and</p>
  
  <pre><code>private async void Init()
  {
      await Task.Run(() =&gt; 
      {
         Do1();
         Do2();
      });
  }
  </code></pre>
  
  <p>The only difference I see: in the first sample Do1 and Do2 will be run in different threads while in the second sample - in the same thread. But again, what is the real benefit of it and when I should prefer the 1st approach over the second one and vice versa?</p>
  
  <p><br/>
  EDIT: The second case</p>
  
  <p>What is the difference between</p>
  
  <pre><code>private async void Init()
  {
      await Task.Run(() =&gt; Do1());
      Do3();
  }
  </code></pre>
  
  <p>and</p>
  
  <pre><code>private async void Init()
  {
      await Task.Run(() =&gt; 
      {
         Do1();
         Do3();
      });
  }
  </code></pre>