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:表示調用對象的關鍵字參數字典。
'''

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM