title: Multi Threading Issue - Need Event after thread completes
body: <p>I'm designing a multi-threaded process where I create a thread to do some processing so as to not lock the UI.  However, when this thread completes (if it completes succesfully w/o error) I need an event so I can execute a method on the UI thread that will update the UI properly.</p>
  
  <p>How can I accomplish this correctly?</p>
  
  <p>My simple code for the Thread:</p>
  
  <pre><code>Thread t = new Thread(new ThreadStart(GetAppUpdates));
  t.Start();
  </code></pre>
  
  <p>Now I need to know when the thread completes, but I feel that I don't want to implement code that would constantly check the Thread State because it would cause UI delay.</p>
  
  <p>(I know this is easier with backgroundworker but I don't want a backgroundworker for this process because this Thread cannot be background).</p>
  
  <p>Is there a way to trigger events for Thread objects when they complete?  What is the best way to accomplish a ThreadFinished() event? I have code that must be executed on the Main UI after Thread successful completion.</p>