zoukankan      html  css  js  c++  java
  • python其中一个子线程,则退出全部线程,再退出进程

    import threading, signal

    is_exit = False


    def write_login(self): global is_exit write_log('login rsync start!!!') count = 0 data_list = [] data_line = '' while not is_exit: # if debug, then log_array = self._redis.lrange(self._list_name, 0, 0), data_line = log_json try: log_array = self._redis.lrange(self._list_name, 0, 9999) except Exception,e: write_log("[write_login][redis err]" + str(e) + data_line) data_list = [] is_exit = True return

      

    https://www.douban.com/note/286438085/

    python多线程中要响应Ctrl+C的信号以杀死整个进程,需要:
    1.把所有子线程设为Daemon;
    2.使用isAlive()函数判断所有子线程是否完成,而不是在主线程中用join()函数等待完成;
    3.写一个响应Ctrl+C信号的函数,修改全局变量,使得各子线程能够检测到,并正常退出。
    4.isAlive的循环判断要写在main里,否则无法接受中断信号

  • 相关阅读:
    Unity中 mesh生成斜坡
    设计模式
    Go语言高级编程
    Go语言高级编程
    agentzh 的 Nginx 教程(版本 2020.03.19)
    ubuntu18安装mysql5.7并配置远程连接
    创建图库
    交点修改
    显示中文
    浅谈前端水印
  • 原文地址:https://www.cnblogs.com/linn/p/5391463.html
Copyright © 2011-2022 走看看