title: Asynchronous Delegates Vs Thread/ThreadPool?
body: <p>I need to execute 3 parallel tasks and after completion of each task they should call the same function which prints out the results.</p>
  
  <p>I don't understand in .net why we have Asychronous calling (delegate.BeginInvoke() &amp; delegate.EndInvoke()) as well as Thread class?</p>
  
  <p>I'm little confused which one to use when? Now in this particular case, what should I use Asychronous calling or Thread class?</p>
  
  <p>I'm using C#.</p>