'Killing a thread executing a function
I need to call a function to do some actions. Also, I need to stop it abruptly: I am not looking for a gentle and clean stop because that's the purpose of my test.
Let's assume the call I want to make is the following one:
class_1.function_1(arg_1=True)
First of all, I cannot use multiprocessing.Process
(I tried), because for some reason this does not allows me to call properly other function of class_1
.
So, here is what I did:
thread = threading.Thread(target=class_1.function_1, args=(True,))
Is runs like a charm, but I have one problem: how can I force stop thread
? For information, I cannot edit function_1
nor class_1
.
Here is some solution I tried, without success:
- calling
_stop()
del thread
If you have any ideas, I am interested, even without threads.
Thanks!
Solution 1:[1]
you can use python-worker
link
from worker import worker
@worker
def my_function():
...
my_worker = my_function()
## put some code
my_worker.abort()
my_function
will automatically run as a thread and my_worker.abort()
will stop it immediately
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | danangjoyoo |