• 守护线程


    守护线程:守护主线程
    线程:代码的运行过程
    主线程等子线程结束,一起回收资源
    from threading import Thread
    import time
    
    def task(name):
        print('%s is running' %name)
        time.sleep(2)
        print('%s is done' %name)
    
    if __name__ == '__main__':
        t=Thread(target=task,args=('线程1',))
        # t.daemon=True
        t.start()
        print('')
    结果:
    线程1 is running
    主
    线程1 is done
    
    把注释 t.daemon=True解除掉的结果:
    线程1 is running
    主
    举例
    from threading import Thread
    import time
    def foo():
        print(123)
        time.sleep(1)
        print("end123")
    
    def bar():
        print(456)
        time.sleep(3)
        print("end456")
    
    t1=Thread(target=foo)
    t2=Thread(target=bar)
    t1.daemon=True
    t1.start()
    t2.start()
    print("main-------")
    
    结果:
    123
    456
    main-------
    end123    主线程等所有非守护线程都结束了,才结束,所以才能看到
    end456
    守护线程
    from multiprocessing import Process
    import time
    def foo():
        print(123)
        time.sleep(1)
        print("end123")
    
    def bar():
        print(456)
        time.sleep(3)
        print("end456")
    
    if __name__ == '__main__':
        t1=Process(target=foo)
        t2=Process(target=bar)
        t1.daemon=True
        t1.start()
        t2.start()
        print("main-------")
    
    结果:
    main-------
    456
    end456
    
    电脑运行效率不同,结果不同,有以下三种结果
        '''
        123
        main-------
        456
        end456
        '''
    
        '''
        main-------
        123
        456
        end456
        '''
    
        '''
        main-------
        456
        end456
        '''
    进程
  • 相关阅读:
    Samba服务器配置
    Showdoc
    wkhtmltoimage(网页剪切功能)
    GTID数据库备份
    awstats日志分析
    docker桥接
    php的opcache缓存扩展(php页面代码刷新速度)
    Pureftp SSL/TLS配置
    ssh-keygen配置
    systemctl使用
  • 原文地址:https://www.cnblogs.com/zhouhao123/p/11224076.html
Copyright © 2020-2023  润新知