The simple answer, when asking how to use threads in Python is: "Don't.  Use processes, instead."  The multiprocessing module lets you create processes with similar syntax to creating threads, but I prefer using their convenient Pool object.
Using the code that David Beazley first used to...