Okay first and foremost -- Python is not multiprocessing when using threads due to the GIL and when you call out to Explorer you are bypassing the GIL that said when you create a thread with an endless loop within it you have to tell it to sleep periodically so that you give the processor back to the OS from time to time to handle those other events that get queued up while it is waiting for this process to pause or finish. Likewise this goes for any and all other processes that you might be running they have to "pause" every now and again (note the actual GUI generally does this naturally due to having to wait on User triggered Events to respond to).
However if you actually need multiprocessing from within Python that can be done as well by using python's multiprocessing library but it has its own set of restrictions and such (aka pros/cons)
However if you actually need multiprocessing from within Python that can be done as well by using python's multiprocessing library but it has its own set of restrictions and such (aka pros/cons)