I understand that this only sets up one bgWorker thread. What worried me was that "import class_bgWorker" can happen in more than one thread simultaneously, doing weird things like calling bgworker.start() twice. But upon looking into this, I see that Python guarantees atomic imports using a lock even broader than the GIL. Very good. It's still not aesthetically pleasing to me, but that's probably just because I'm not very Pythonic. =)