Nothing calls stop() and no thread waits on the _stop event. You can replace this with: "while True:"