• 线程_apply堵塞式


    '''
    创建三个进程,让三个进程分别执行功能,关闭进程
    Pool 创建  ,apply执行 , close,join 关闭进程
    '''
    from multiprocessing import Pool
    import os,time,random
    
    def worker(msg):
        # 创建一个函数,用来使进程进行执行
        time_start = time.time()
        print("%s 号进程开始执行,进程号为 %d"%(msg,os.getpid()))
        # 使用os.getpid()获取子进程号
        # os.getppid()返回父进程号
        time.sleep(random.random()*2)
        time_end = time.time()
        print(msg,"号进程执行完毕,耗时%0.2f"%(time_end-time_start))
    #     计算运行时间
    
    if __name__ == '__main__':
    
        po = Pool(3)#创建三个进程
        print("进程开始")
        for i in range(3):
            # 使用for循环,运行刚刚创建的进程
            po.apply(worker,(i,))#进程池调用方式apply堵塞式
        #     第一个参数为函数名,第二个参数为元组类型的参数(函数运行会用到的形参)
        #只有当进程执行完退出后,才会新创建子进程来调用请求
    
        po.close()# 关闭进程池,关闭后po不再接收新的请求
        # 先使用进程的close函数关闭,后使用join函数进行等待
        po.join() # 等待po中所有子进程执行完成,必须放在close语句之后
    
        print("进程结束")
    
    
        '''创建->apply应用->close关闭->join等待结束'''

    2020-05-07

  • 相关阅读:
    pycharm永久破解方法
    Django-视图&网址
    Django-初体验
    Appium+Pytest实现app并发测试
    我是如何在一周内拿到4份offer的?
    Jenkins集成allure测试报告
    Allure-pytest功能特性介绍
    requests的深入刨析及封装调用
    pytest-html报告修改与汉化
    RobotFrameWork Web自动化测试环境搭建
  • 原文地址:https://www.cnblogs.com/hany-postq473111315/p/12845503.html
Copyright © 2020-2023  润新知