主程序结束时如何终止线程?

发布于 2021-01-29 19:37:03

如果我在无限循环中有一个线程,有没有办法在主程序结束时(例如,当我按**Ctrl** +时**C** )终止它?

关注者
0
被浏览
67
1 个回答
  • 面试哥
    面试哥 2021-01-30
    为面试而生,有面试问题,就找面试哥。

    检查这个问题。正确答案对如何以正确的方式终止线程有很好的解释:
    是否有任何方法可以杀死Python中的线程?

    要使线程在键盘中断信号(ctrl + c)上停止,您可以在退出之前捕获异常“ KeyboardInterrupt”并进行清除。像这样:

    try:
        start_thread()  
    except (KeyboardInterrupt, SystemExit):
        cleanup_stop_thread()
        sys.exit()
    

    这样,您可以控制程序突然终止时的处理方式。

    您还可以使用内置的信号模块,该模块允许您设置信号处理程序(在您的特定情况下为SIGINT信号):http
    :
    //docs.python.org/library/signal.html



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看