multiprocessing是一個用于產(chǎn)生多進(jìn)程的包,與threading模塊的API類似。multiprocessing既可以實現(xiàn)本地的多進(jìn)程,也可以實現(xiàn)遠(yuǎn)程的多進(jìn)程。通過使用多個子進(jìn)程而非線程可以繞開Python的全局解釋器鎖(GIL),同時允許在多種系統(tǒng)平臺使用。
創(chuàng)新互聯(lián)公司專業(yè)提供川西大數(shù)據(jù)中心服務(wù),為用戶提供五星數(shù)據(jù)中心、電信、雙線接入解決方案,用戶可自行在線購買川西大數(shù)據(jù)中心服務(wù),并享受7*24小時金牌售后服務(wù)。
Process模塊是一個創(chuàng)建進(jìn)程的模塊,可以通過Process直接創(chuàng)建進(jìn)程。
multiprocessing.Process(group=None, target=None, name=None, args=(), kwargs={}, *, daemon=None) """ 參數(shù)介紹: 1. group默認(rèn)為None(目前未使用) 2. target代表調(diào)用對象,即子進(jìn)程執(zhí)行的任務(wù) 3. name為進(jìn)程名稱 4. args調(diào)用對象的位置參數(shù)元組,args=(value1, value2, ...) 5. kwargs調(diào)用對象的字典,kwargs={key1:value1, key2:value2, ...}
6. daemon表示進(jìn)程是否為守護(hù)進(jìn)程,布爾值
方法介紹:
Process.start() 啟動進(jìn)程,并調(diào)用子進(jìn)程中的run()方法
Process.run() 進(jìn)程啟動時運行的方法,在自定義時必須要實現(xiàn)該方法
Process.terminate() 強(qiáng)制終止進(jìn)程,不進(jìn)行清理操作,如果Process創(chuàng)建了子進(jìn)程,會導(dǎo)致該進(jìn)程變成僵尸進(jìn)程
Process.join() 阻塞進(jìn)程使主進(jìn)程等待該進(jìn)程終止
Process.kill() 與terminate()相同
Process.is_alive() 判斷進(jìn)程是否還存活,如果存活,返回True
Process.close() 關(guān)閉進(jìn)程對象,并清理資源,如果進(jìn)程仍在運行則返回錯誤
"""