title: threading.Timer()
body: <p>i have to write a program in network course that is something like selective repeat but a need a timer. after search in google i found that threading.Timer can help me, i wrote a simple program just for test how threading.Timer work that was this:</p>
  
  <pre><code>import threading
  
  def hello():
      print "hello, world"
  
  t = threading.Timer(10.0, hello)
  t.start() 
  print "Hi"
  i=10
  i=i+20
  print i
  </code></pre>
  
  <p>this program run correctly.
  but when i try to define hello function in a way that give parameter like:</p>
  
  <pre><code>import threading
  
  def hello(s):
      print s
  
  h="hello world"
  t = threading.Timer(10.0, hello(h))
  t.start() 
  print "Hi"
  i=10
  i=i+20
  print i
  </code></pre>
  
  <p>the out put is :</p>
  
  <pre><code>hello world
  Hi
  30
  Exception in thread Thread-1:
  Traceback (most recent call last):
    File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/threading.py", line 522, in __bootstrap_inner
      self.run()
    File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/threading.py", line 726, in run
      self.function(*self.args, **self.kwargs)
  TypeError: 'NoneType' object is not callable
  </code></pre>
  
  <p>i cant understand what is the problem! 
  can any one help me?</p>