title: Can I run multiple Timers in Python simultaneously?
body: <p>I am trying to make simulation of telecommunication network in order to test some routing algorithm. Requests come according to Poisson distribution and their holding times follow exponential distribution.</p>
  
  <p>After finding route for some request Timer should be activated to update values of residual link capacities after expiration of specific holding time interval. I know that I can use threading.Timer to call some function with delay, but before holding time expires many other request will arrive and I need to run separate Timer for each of them. </p>
  
  <p>Not related with my algorithm, today I tried to run this code:</p>
  
  <pre><code>    def hello(i):
         print i
  
      for i in range(0,10):
        t = threading.Timer(2,hello,[i])
        t.start()
  </code></pre>
  
  <p>I wanted to print numbers from range (0,10) in intervals of 2 seconds, but output is totally weird. After few seconds I got:</p>
  
  <pre><code>0
  1
  32
  
  4
  5
  6
  7
  89
  </code></pre>
  
  <p>So, it seems that I cannot use Timer for this purpose. Do you have some idea how to solve this problem?</p>