The python module threading has an object Thread
to be used to run processes and functions in a different thread. This object has a start
method, but no stop
method. What is the reason a Thread
cannot be stopped my calling a simple stop
method? I can imagine cases when it is unconvenient to use the join
method...
start
can be generic and make sense because it just fires off the target of the thread, but what would a generic stop
do? Depending upon what your thread is doing, you could have to close network connections, release system resources, dump file and other streams, or any number of other custom, non-trivial tasks. Any system that could do even most of these things in a generic way would add so much overhead to each thread that it wouldn't be worth it, and would be so complicated and shot through with special cases that it would be almost impossible to work with. You can keep track of all created threads without join
ing them in your main thread, then check their run state and pass them some sort of termination message when the main thread shuts itself down though.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With