title: threading.Timer() and destruction of instance
body: <p>In interactive python, I did the following experiment:</p>
  
  <pre><code>import threading
  
  def hello():
      print "Hello World!"
  
  def greeting():
      t = threading.Timer(5, hello)
      t.start()
  
  greeting()
  "Hello World!"  # After 5s delay.
  </code></pre>
  
  <p>I was surprised that the greeting was printed after delay.  I thought leaving scope would have destroyed the Timer instance, but it makes sense that the python's garbage collector would take on that role?</p>
  
  <p>For my needs, the behavior in the above experiment is what I need, but I don't think it guaranteed to always work.  Or will it always work as shown?</p>
  
  <p>thanks.</p>