title: Wait for QueueUserWorkItem to Complete
body: <p>If I add jobs to the thread pool with <code>QueueUserWorkItem</code>... how do I keep my program from going forward until all jobs are completed?</p>
  
  <p>I know I could add some logic to keep the app from running until all jobs are completed, but I want to know if there is something like <code>Thread.Join()</code> or if there's any way to retrieve each thread that is being assigned a job.</p>