title: Is it legal to call the start method twice on the same Thread?
body: <p>The following code leads to <code>java.lang.IllegalThreadStateException: Thread already started</code> when I called <code>start()</code> method <strong>second time</strong> in  program.</p>
  
  <pre><code>updateUI.join();    
  
  if (!updateUI.isAlive()) 
      updateUI.start();
  </code></pre>
  
  <p>This happens the <strong>second</strong> time <code>updateUI.start()</code> is called.  I've  stepped through it multiple times and the thread is called and completly runs to completion before hitting <code>updateUI.start()</code>.</p>
  
  <p>Calling <code>updateUI.run()</code> avoids the error but causes the thread to run in the UI thread (the calling thread, as mentioned in other posts on SO), which is not what I want.</p>
  
  <p>Can a Thread be <em>started</em> only once?  If so than what do I do if I want to run the thread again?  This particular thread is doing some calculation in the background, if I don't do it in the thread than it's done in the UI thread and the user has an unreasonably long wait.</p>