It's not about design patterns. It's about such simple things as using the event loop correctly In your situation I don't know why you are using threads at all...