zoukankan      html  css  js  c++  java
  • 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:表示调用对象的关键字参数字典。
    '''
  • 相关阅读:
    Django入门
    RCNN 研究相关
    [Android UI]View滑动方式总结
    [Android UI]View基础知识
    [Android]Android开发艺术探索第1章笔记
    [Leetcode]017. Letter Combinations of a Phone Number
    java之this关键字
    POJ 1000 A+B
    [Leetcode]016. 3Sum Closest
    [Leetcode]015. 3Sum
  • 原文地址:https://www.cnblogs.com/zhangboblogs/p/8623530.html
Copyright © 2011-2022 走看看