title: Looping in Threads
body: <p>Consider the following two designs of <code>run</code> method:</p>
  
  <p><strong>Approach A</strong></p>
  
  <pre><code>public void run() {
      do {
          //do something
      } while (condition);
  }
  </code></pre>
  
  <p><strong>Approach B</strong></p>
  
  <pre><code>public void run() {
  
      //do something...
  
      if (condition) {
         new Thread(this).start();
      }
  }
  </code></pre>
  
  <p>The second approach seems cleaner to me, after some debate, I have been told it's not a good idea to use approach two.</p>
  
  <p>Question:</p>
  
  <ol>
  <li>What are reasons (if there is any) that I shouldn't be using approach 2? </li>
  </ol>