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:表示調用對象的關鍵字參數字典。
'''
相關文章
相關標籤/搜索