Python 我应该明确终止过期的线程吗?

Python 我应该明确终止过期的线程吗?,python,multithreading,Python,Multithreading,我有一个线程池,线程执行特定任务。任务完成后,我让worker的run()方法终止 在此之后,是否应该使用sys.exit()显式终止线程?我注意到,即使在任务完成后,工作线程仍在后台 清除旧线程的推荐方法是什么?执行sys.exit将退出整个应用程序。线程执行完成后,不需要执行任何操作 有关停止/终止线程的更多参考,请参阅。执行sys.exit将退出整个应用程序。线程执行完成后,不需要执行任何操作 有关停止/终止线程的更多参考请参阅。过期的线程是否会自动进行垃圾收集?我假设这样一个线程仍然可以

我有一个线程池,线程执行特定任务。任务完成后,我让worker的run()方法终止

在此之后,是否应该使用sys.exit()显式终止线程?我注意到,即使在任务完成后,工作线程仍在后台


清除旧线程的推荐方法是什么?

执行
sys.exit
将退出整个应用程序。线程执行完成后,不需要执行任何操作


有关停止/终止线程的更多参考,请参阅。

执行
sys.exit
将退出整个应用程序。线程执行完成后,不需要执行任何操作


有关停止/终止线程的更多参考请参阅。

过期的线程是否会自动进行垃圾收集?我假设这样一个线程仍然可以返回is_alive(),那么它就存在于内存中。在正常操作中,我的程序从不调用sys.exit(),只要有对线程对象的引用,线程对象本身就不会被垃圾收集。但是在线程中创建的对象通常在线程存在后收集。但在某些情况下,对象无法收集,例如循环依赖。但这是一个普遍的问题,与线程无关。过期的线程会自动被垃圾回收吗?我假设这样一个线程仍然可以返回is_alive(),那么它就存在于内存中。在正常操作中,我的程序从不调用sys.exit(),只要有对线程对象的引用,线程对象本身就不会被垃圾收集。但是在线程中创建的对象通常在线程存在后收集。但在某些情况下,对象无法收集,例如循环依赖。但这是一个普遍的问题,与线程无关。