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

     

     

  • 相关阅读:
    质数学习笔记
    一本通 1615:【例 1】序列的第 k 个数
    2019.05.09考试解题报告
    洛谷 P1057 传球游戏
    浅谈逆序对
    Set学习笔记
    洛谷 P1115 最大子段和
    洛谷 P1234 小A的口头禅
    About Her
    洛谷 P1164 小A点菜
  • 原文地址:https://www.cnblogs.com/mingerlcm/p/11029260.html
Copyright © 2011-2022 走看看