Re: How to stop a specific thread in Python 2.7?

Cameron Simpson via Python-list <[email protected]> Thu, 26 Sep 2024 06:44:09 +1000
Newsgroups gmane.comp.python.general,gmane.comp.python.tutor
Message-ID <[email protected]>
On 25Sep2024 19:24, marc nicole <[email protected]> wrote:
>I want to know how to kill a specific running thread (say by its id)
>
>for now I run and kill a thread like the following:
># start thread
>thread1 = threading.Thread(target= self.some_func(), args=( ...,), )
>thread1.start()
># kill the thread
>event_thread1 = threading.Event()
>event_thread1.set()
>
>I know that set() will kill all running threads, but if there was thread2
>as well and I want to kill only thread1?

No, `set()` doesn't kill a thread at all. It sets the `Event`, and each 
thread must be checking that event regularly, and quitting if it becomes 
set.

You just need a per-thred vent instead of a single Event for all the 
threads.

Cheers,
Cameron Simpson <[email protected]>