Python 线程:有没有办法检测线程中的 join() 调用?

Python threading: Is there a way to detect a join() call in a thread?

我创建了一个运行 X 个线程的程序,这些线程都需要能够被主线程关闭。目前我可以停止程序,这样每个线程都会被突然杀死。我希望能够检测到关闭并更优雅地处理它。为此,我想使用 join() 函数,它等待线程完成。问题是线程没有固定结束,因此调用 join() 意味着主线程将永远等待线程结束。

那么问题来了。有没有办法检测线程中的 join() 调用并为其编写自定义响应?

您可以在线程外处理停止信号(使用 signal 模块,如 this),在您的线程上设置一个标志,要求它们停止处理并调用 join你的主线程。