title: Python daemon thread does not exit when parent thread exits
body: <p>I have some Python code that creates a demon thread.  The parent thread ends almost immediately, but the daemon thread keeps printing sleep.</p>
  
  <pre><code>import threading
  import time
  def int_sleep():
      for _ in range(1, 600):
          time.sleep(1)
          print("sleep")
  
  def main():
      thread = threading.Thread(target=int_sleep)
      thread.daemon = True
      thread.start()
      time.sleep(2)
      print("main thread end...")
  
  thread = threading.Thread(target=main)
  thread.start()
  </code></pre>
  
  <p>sys.version:</p>
  
  <pre><code>'3.3.3 (v3.3.3:c3896275c0f6, Nov 18 2013, 21:19:30) [MSC v.1600 64 bit (AMD64)]'
  </code></pre>
  
  <p>Prints:</p>
  
  <pre><code>sleep
  
  main thread end...
  
  sleep
  
  sleep
  
  sleep
  </code></pre>
  
  <p>Why doesn't the Python daemon thread exit when parent thread exits?</p>