进程1

使用multiprocessing模块: 创建Process的实例,传入任务执行函数作为参数

"""
Process常用属性与方法:
name:进程名
pid:进程id
run(),自定义子类时覆写
start(),开启进程
join(timeout=None),阻塞进程
terminate(),终止进程
is_alive(),判断进程是否存活
"""

--进程间全部结束,主进程才结束

import os,time
from multiprocessing import Process

def worker():
    print("子进程执行中>>>pid={0},ppid={1}".format(os.getpid(),os.getppid()))
    time.sleep(2)
    print("子进程终止>>>pid={0}".format(os.getpid()))

def main():
    print("主进程执行中>>>pid={0}".format(os.getpid()))

    ps=[]

    #创建子进程实例
    for i in range(2):
        p=Process(target=worker,name="worker"+str(i),args=())
        ps.append(p)
    #开启进程
    for i in range(2):
        ps[i].start()

    #阻塞进程
    for i in range(2):
        ps[i].join()

    print("主进程终止")

if __name__=="__main__":
    main()

  

主进程执行中>>>pid=15412
子进程执行中>>>pid=13932,ppid=15412
子进程执行中>>>pid=16616,ppid=15412
子进程终止>>>pid=13932
子进程终止>>>pid=16616
主进程终止
running time 2.1258418560028076

posted on 2019-10-18 10:52  happygril3  阅读(181)  评论(0)    收藏  举报

导航