title: new Runnable() but no new thread?
body: <p>I'm trying to understand the code <a href="http://docs.huihoo.com/android/2.3/resources/articles/timed-ui-updates.html" rel="noreferrer">here</a> , specifically the anonymous class</p>
  
  <pre><code>private Runnable mUpdateTimeTask = new Runnable() {
  public void run() {
     final long start = mStartTime;
     long millis = SystemClock.uptimeMillis() - start;
     int seconds = (int) (millis / 1000);
     int minutes = seconds / 60;
     seconds     = seconds % 60;
  
     if (seconds &lt; 10) {
         mTimeLabel.setText("" + minutes + ":0" + seconds);
     } else {
         mTimeLabel.setText("" + minutes + ":" + seconds);            
     }
  
     mHandler.postAtTime(this,
             start + (((minutes * 60) + seconds + 1) * 1000));
     }
  };
  </code></pre>
  
  <p>The article says </p>
  
  <blockquote>
    <p>The Handler runs the update code as a part of your main thread, avoiding the overhead of a second thread..</p>
  </blockquote>
  
  <p>Shouldn't creating a new Runnable class make a new second thread? What is the purpose of the Runnable class here apart from being able to pass a Runnable class to postAtTime?</p>
  
  <p>Thanks</p>