title: Using gevent monkey patching with threading makes thread work serially
body: <p>I am using <a href="http://www.gevent.org/" rel="noreferrer">gevent</a> and I am monkey patching everything.<br>
  It seems like the monkey patching causes the threading to work serially.</p>
  
  <p>My code:</p>
  
  <pre><code>import threading
  from gevent import monkey; monkey.patch_all()
  
  class ExampleThread(threading.Thread):
      def run(self):
          do_stuff()  # takes a few minutes to finish
          print 'finished working'
  
  if __name__ == '__main__':
      worker = ExampleThread()
      worker.start()
      print 'this should be printed before the worker finished'
  </code></pre>
  
  <p>So the thread is not working as expected.<br>
  But if I remove the <code>monkey.patch_all()</code> it is working fine.<br>
  The problem is that I need the <code>monkey.patch_all()</code> for using gevent (now shown in the code above)  </p>
  
  <p><strong>My solution:</strong></p>
  
  <p>I changed the </p>
  
  <pre><code>monkey.patch_all() 
  </code></pre>
  
  <p>to </p>
  
  <pre><code>monkey.patch_all(thread=False)
  </code></pre>
  
  <p>so I am not patching the thread.</p>