title: Instance of Task class (Task.Factory.StartNew or  TaskCompletionSource)
body: <p>This is probably a pretty basic question, but just something that I wanted to make sure I had right in my head.
  Today I was digging with TPL library and found that there are two way of creating instance of Task class.</p>
  
  <p><strong>Way I</strong></p>
  
  <pre><code> Task&lt;int&gt; t1 = Task.Factory.StartNew(() =&gt;
                  {
                      //Some code
                      return 100;
  
                  });
  </code></pre>
  
  <p><strong>Way II</strong></p>
  
  <pre><code>  TaskCompletionSource&lt;int&gt; task = new TaskCompletionSource&lt;int&gt;();
    Task t2 = task.Task;
    task.SetResult(100);
  </code></pre>
  
  <p>Now,I just wanted to know that</p>
  
  <ol>
  <li>Is there any difference between these instances? </li>
  <li>If yes then what?</li>
  </ol>