Python杀死线程

Python杀死线程,python,multithreading,sleep,Python,Multithreading,Sleep,我正试图杀死python中的一个线程。异常将是执行此操作的首选方法,因为通过try:except:对优雅地退出线程的run方法将允许关闭资源 我尝试了:,但is指定在代码执行系统调用(如time.sleep)时,is不起作用。有没有一种方法可以在另一个线程(或者进程,不介意)中引发异常,而不管该线程正在执行什么,该线程都能正常工作?一般来说,引发异步异常很难正确处理。这是因为,与生成异常(因此需要测试异常处理)的单个特定代码点不同,异常可以在任何字节码指令之后生成。这使得实现和全面测试异常处理变

我正试图杀死python中的一个线程。异常将是执行此操作的首选方法,因为通过try:except:对优雅地退出线程的run方法将允许关闭资源


我尝试了:,但is指定在代码执行系统调用(如time.sleep)时,is不起作用。有没有一种方法可以在另一个线程(或者进程,不介意)中引发异常,而不管该线程正在执行什么,该线程都能正常工作?

一般来说,引发异步异常很难正确处理。这是因为,与生成异常(因此需要测试异常处理)的单个特定代码点不同,异常可以在任何字节码指令之后生成。这使得实现和全面测试异常处理变得更加困难

也就是说,这是可以做到的——但目前在Python中并不安全。在Python中异步引发异常是危险的,因为您可能在异常处理程序中引发异常,这将引发另一个异常并阻止正确进行清理。请参阅我的答案

可以向某些形式的睡眠发出取消的信号,但Python中没有通用的基础设施。您最好避免终止线程,或者将线程移动到一个进程,在该进程中,您可以向整个进程发送一个信号并干净地退出。

可能的重复