Stopping a thread
We have to start a thread to actually make it do something by calling the start() method, so, intuitively, we would expect there to be a matching stop() method, but there is no such thing. In this recipe, we will learn how to run a thread as a background task, which is called a daemon. When closing the main thread, which is our GUI, all daemons will automatically be stopped as well.
Getting ready
When we call methods in a thread, we can also pass arguments and keyword arguments to the method. We start this recipe by doing exactly that.
How to do it...
By adding args=[8] to the thread constructor and modifying the targeted method to expect arguments, we can pass arguments to threaded methods. The parameter to args has to be a sequence, so we will wrap our number in a Python list.
def methodInAThread(self, numOfLoops=10):
for idx in range(numOfLoops):
sleep(1)
self.scr.insert(tk.INSERT, str(idx) + '\n')In the following code, runT is a local variable which we only access...