fix queue.get(timeout=x) eat cpu issue

Due to Python's native Queue eats a bunch of cpu when you are using Queue.get(timeout=X)
**Workaround** By putting `None` into queue to let threads know when to stop.

reference: http://blog.codedstructure.net/2011/02/concurrent-queueget-with-timeouts-eats.html