zoukankan      html  css  js  c++  java
  • python 并发编程 多进程 Process对象的其他属性方法 terminate与is_alive name pid 函数

    进程对象的其他方法一: terminate与is_alive

     

    is_alive()  立刻查看的子进程结果 是否存活

    from multiprocessing import Process
    import time
    import os
    
    def task(name):
    
    
        print("%s is running" % (name))
        time.sleep(3)
        print("%s is done" % (name))
    
    
    if __name__ == "__main__":
    
        p = Process(target=task,args=("子进程",))
        p.start()
        # 查看的子进程结果是否存活
        print(p.is_alive())
        p.join()
    
        # 查看的子进程结果是否存活
        print(p.is_alive())
        print("",)
    
    
    '''
    True 子进程存活
    子进程 is running
    子进程 is done
    False 子进程不存活
    主
    '''

    terminate() 关闭子进程,这种也是给操作系统发送信号和start 一样

    子进程还活着

    from multiprocessing import Process
    import time
    import os
    
    def task(name):
    
    
        print("%s is running" % (name))
        time.sleep(3)
        print("%s is done" % (name))
    
    
    if __name__ == "__main__":
    
        p = Process(target=task,args=("子进程",))
        p.start()
    
        # 关闭子进程 给操作系统发送信号
        p.terminate()
        print(p.is_alive())
        p.join()
    
        print("",)
    
    '''
    True 子进程还活着
    主
    '''

    关闭子进程,把内存空间回收,是操作系统做的,但是什么时候关闭进程的时间就不知道了

    terminate() 只是发送信号

    解决:需要time.sleep() 让程序睡的时间长点

    信号发出后,需要操作系统反应一段时间

    from multiprocessing import Process
    import time
    import os
    
    def task(name):
    
    
        print("%s is running" % (name))
        time.sleep(3)
        print("%s is done" % (name))
    
    
    if __name__ == "__main__":
    
        p = Process(target=task,args=("子进程",))
        p.start()
    
        # 关闭子进程 给操作系统发送信号
        p.terminate()
        time.sleep(3)
        print(p.is_alive())
        p.join()
    
        print("",)
    
    '''
    False
    主
    '''

    pid 查看子进程pid 

    p.pid

     name 查看子进程名字

    p.name

    不设置进程名字 默认会给子进程 设置名字 Process-1

     

     

  • 相关阅读:
    linux一些配置
    tomcat启动后,页面无法访问
    利用jmeter实现多IP压测
    java操作数据库
    excle中表头分割单元格
    常用的最大流算法 Dinic 和 最小费用最大流SPFA写法
    [kuangbin]带你飞之'网络流'专题
    (留坑以后再看)一般图'最大匹配' 带花树 算法
    二分图'多重匹配'
    二分图'最大匹配' HK 算法
  • 原文地址:https://www.cnblogs.com/mingerlcm/p/11029260.html
Copyright © 2011-2022 走看看