zoukankan      html  css  js  c++  java
  • 使用multiprocessing模块创建进程

    #_author:来童星
    #date:2019/12/17
    from multiprocessing import Process
    import time
    import os
    #两个子进程将会调用的两个方法
    def child_1(i):
    print('子进程(%s)开始执行,父进程为(%s)'%(os.getpid(),os.getppid()))
    t_start=time.time()
    time.sleep(i)
    t_end=time.time()
    print("子进程(%s)执行时间为'%0.2f'秒"%(os.getpgid(),t_end-t_start))
    def child_2(i):
    print('子进程(%s)开始执行,父进程为(%s)'%(os.getpid(),os.getppid()))
    t_start=time.time()
    time.sleep(i)
    t_end=time.time()
    print("子进程(%s)执行时间为'%0.2f'秒"%(os.getpgid(),t_end-t_start))
    if __name__=='__main__':
    print('-------父进程开始执行-------')
    print('父进程PID:%s'%os.getppid())
    p1=Process(target=child_1,args=(1,))# 实例化进程p1
    p2=Process(target=child_2,args=(2,))# 实例化进程p2
    p1.start()
    p2.start()
    # 同时父进程仍然往下执行,如果p2进程还在执行,将会返回True
    print("p1.is_alive=%s"%p1.is_alive())
    print("p2.is_alive=%s"%p2.is_alive())
    #输出p1,p2进程的别名和pid
    print("p1.name=%s"%p1.name)
    print('p1.pid=%s'%p1.pid)
    print("p2.name=%s"%p2.name)
    print('p2.pid=%s'%p2.pid)
    print('-------等待子进程-------')
    p1.join()
    p2.join()
    print('-------父进程执行结束-------')
    运行结果:
    -------父进程开始执行-------
    父进程PID:5580
    p1.is_alive=True
    p2.is_alive=True
    p1.name=Process-1
    p1.pid=2508
    p2.name=Process-2
    p2.pid=10164
    -------等待子进程-------
    -------父进程执行结束-------


  • 相关阅读:
    1、一条sql查询语句的执行过程
    go 内存分配
    GO Json
    gorm CRUD:读写数据
    go 基于切片的队列实现
    go的错误处理
    grpc
    sqlalchemy 判断字段是否存在
    定时函数
    用Python获取Linux资源信息的三种方法
  • 原文地址:https://www.cnblogs.com/startl/p/12054042.html
Copyright © 2011-2022 走看看