• Python并发编程-守护进程


    守护进程

    • 子进程转换为守护进程
    • 主进程的代码结束,子进程的代码也应该接收, 这个事情有守护进程来做
    • 守护进程会随着主进程的代码执行完毕而结束, 而不是随着主进程的接收而结束(子进程不一定结束)
    from multiprocessing import Process
    import time
    
    def func():
        while True:
            time.sleep(0.5)
            print('still here')
    
    def func2():
        print('in func 2 start')
        time.sleep(8)
        print('in func 2 finished')
    
    if __name__ == '__main__':
        p = Process(target=func)
        p.daemon = True #必须在start之前设置daemon=True,设置子进程为守护进程
        p.start()
        Process(target=func2).start()
        i = 0
        while i<5:
            print('我是socket server')
            time.sleep(1)
            i += 1
    

    is-alive()判断进程是否还存活, terminate结束一个进程

    • 结束一个进程不是立刻生效,需要一个操作系统响应的过程
    
    from multiprocessing import Process
    import time
    
    def func():
        while True:
            time.sleep(0.5)
            print('still here')
    
    def func2():
        print('in func 2 start')
        time.sleep(8)
        print('in func 2 finished')
    
    if __name__ == '__main__':
        p = Process(target=func)
        p.daemon = True #必须在start之前设置daemon=True,设置子进程为守护进程
        p.start()
        p2 = Process(target=func2)
        p2.start()
        p2.terminate()#结束一个子进程
        print(p2.is_alive())#判断当前进程是否活着
        print(p2.name) #打印当前进程的名字
        time.sleep(2)
        print(p2.is_alive())
    
  • 相关阅读:
    python中的keys、values、items
    python中的del
    python中的reverse
    python中的remove
    python中的pop
    zookeeper for windows
    express
    js undefine,null 和NaN
    Think_php入口文件配置
    jquery 集合操作
  • 原文地址:https://www.cnblogs.com/konglinqingfeng/p/9686380.html
Copyright © 2020-2023  润新知