title: Android: Multiple handlers in one Activity
body: <p>I have a single handler instance, and I try to post two Runnables. But what I observe is only the latest Toast is getting printed on the device.  </p>
  
  <pre><code>Handler handler = new Handler(Looper.getMainLooper());
    handler.post(new Runnable() {
    @Override
    public void run() {
      try {
        Thread.sleep(3000);
      } catch (InterruptedException e) {
        e.printStackTrace();
      }
      Toast.makeText(getApplicationContext(),"Showing from main activity",
          Toast.LENGTH_SHORT).show();
  
    }
  });
  
  handler.post(new Runnable() {
    @Override
    public void run() {
      try {
        Thread.sleep(3000);
      } catch (InterruptedException e) {
        e.printStackTrace();
      }
      Toast.makeText(getApplicationContext(),"Showing from main activity new",
          Toast.LENGTH_SHORT).show();
  
    }
  });
  </code></pre>
  
  <p>As per the explanation of Handler, it enqueues the runnables into the messages queue of the thread to which it it associated. Which means Both the toast should be displays in the order in which they are enqueued. 
  Can someone please explain this?</p>