• multiprocessing的Process类的简单使用


    '''
    跨平台的进程创建模块(multiprocessing)
    支持跨平台 :window/linux
    
    multiprocessing提供一个Process类来代表一个进程对象
    '''
    
    from multiprocessing import Process
    import os
    
    def download(filename,type,**kwargs):
        #这里是子进程的id  Return the current process id
        # getppid :Return the parent's process id
        print("开启进程: %s 进行下载操作"%os.getppid())
        print(filename,type,kwargs)
        if kwargs['device'] == 'iphoneX':
            path = "http://www.langlang2017.com/iphoneX"
        #把图片地址连接起来
        print('下载:%s/%s.%s'%(path,filename,type))
    
    #1,创建和启动
    #创建格式:  p = Process(target=函数名)
    
    #主进程
    if __name__ == '__main__':
        #随机给主进程的id Return the current process id.
        #real signature unknown
        # 签名; 署名; 识别标志,鲜明特征; [医] 药的用法说明
        #主进程也有父级进程id
        print("main Process:%s"%os.getpid())
        # 注意函数名没有括号 name没有进行传参
        p = Process(target=download,name='下载进程(子进程)',
                    args=('logo','png'),
                    kwargs={'device':'iphoneX','peizhi':'high'})
        print('%s' % p.name)
        p.start()
        print('%s' % p.name)
    
    '''
    def __init__(self, group=None, target=None, name=None, args=(), kwargs={}):
    group:分组(基本不用)
    target:表示这个进程实例所调用的对象。
    name:给进程起一个别名
    args:参数,表示调用对象的位置参数元组
    kwargs:表示调用对象的关键字参数字典。
    '''
  • 相关阅读:
    Day4 0708
    Day2 0706
    两道递推公式题的解题报告
    博客还需优化
    飞行路线Luogu4568
    堆优化Dijkstra(Luogu 4779)
    2019四等奖的清明节征文
    2019四等奖的叶圣陶初稿
    Luogu P1072 Hankson的趣味题
    Loj10022 埃及分数(迭代加深搜索IDDFS)
  • 原文地址:https://www.cnblogs.com/zhangboblogs/p/8623530.html
Copyright © 2020-2023  润新知