IME in many of these cases you're better off using asyncio instead.
Currently it is not possible to "kill" thread which is blocked. The rationale for this is handling situations when thread is blocked - e.g. when thread is quering DB when lock occurred on Database. In this case, the main thread has no way how to stop the blocked thread. Killing a thread is also popular question - see .
pthread library and Windows API contains mechanisms for forced termination of threads - see  and . It is also simple to use them using ctypes library but after this action one need to "clean" internal data structures which is bad practice:
import time import threading import ctypes
# blocked thread handler
t = threading.Thread(name='bar', target=handler) libpt = ctypes.cdll.LoadLibrary("libpthread.so.0")
# This is nasty cleaning of internal python structures
Is if feasible to add canceling threads to python threading library? I am willing to help creating a patch (at least for linux).
 https://stackoverflow.com/questions/323972/is-there-any-way-to-kill-a-thread  https://www.geeksforgeeks.org/python-different-ways-to-kill-a-thread/  http://man7.org/linux/man-pages/man3/pthread_cancel.3.html  https://docs.microsoft.com/en-us/windows/desktop/api/processthreadsapi/nf-pr...
Python-ideas mailing list -- email@example.com To unsubscribe send an email to firstname.lastname@example.org https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://email@example.com/message/ZDERRW... Code of Conduct: http://python.org/psf/codeofconduct/