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
    -------等待子进程-------
    -------父进程执行结束-------


  • 相关阅读:
    Oracle 修改带数据的字段类型
    Oracle的主键约束、唯一约束与外键约束
    Oracle 唯一 索引 约束 创建 删除
    Oracle 在Drop表时的Cascade Constraints
    iTunes备份注意
    谈判的四种风格
    求平均速度
    网站推荐的代码自动生成软件实际使用感触
    DOTA游戏相关的文章
    魔兽争霸3不能弹出输入法原因
  • 原文地址:https://www.cnblogs.com/startl/p/12054042.html
Copyright © 2011-2022 走看看