Python進程Multiprocessing模塊原理解析
先看看下面的幾個方法:
- star() 方法啟動進程,
- join() 方法實現(xiàn)進程間的同步,等待所有進程退出。
- close() 用來阻止多余的進程涌入進程池 Pool 造成進程阻塞。
參數(shù):
target 是函數(shù)名字,需要調(diào)用的函數(shù)
args 函數(shù)需要的參數(shù),以 tuple 的形式傳入
用法:
multiprocessing.Process(group=None, target=None, name=None, args=(), kwargs={}, *, daemon=None)
寫一個的例子:
from multiprocessing import Pool import os,time def pr(str): print("The " + str + " is %s" %(os.getpid())) time.sleep(1) print("The " + str + " is close") if __name__ == "__main__": print('-------------------------------') print("the current pid: "+ str(os.getpid())) # 默認為自己電腦的核數(shù) p = Pool(2) for i in range(5): p.apply_async(pr,args=('xdxd',)) p.close() p.join() print("----------close-----------------")
通過結(jié)果可以看出,是2個進程同時啟動,同時啟動的進程數(shù)與pool中設(shè)置的數(shù)量和自己電腦的核數(shù)有關(guān)
結(jié)果:
------------------------------- the current pid: 9562 The xdxd is 9563 The xdxd is 9564 The xdxd is close The xdxd is close The xdxd is 9563 The xdxd is 9564 The xdxd is close The xdxd is close The xdxd is 9563 The xdxd is close ----------close-----------------
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python 和c++實現(xiàn)旋轉(zhuǎn)矩陣到歐拉角的變換方式
今天小編就為大家分享一篇python 和c++實現(xiàn)旋轉(zhuǎn)矩陣到歐拉角的變換方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12python 利用 PIL 將數(shù)組值轉(zhuǎn)成圖片的實現(xiàn)
這篇文章主要介紹了python 利用 PIL 將數(shù)組值轉(zhuǎn)成圖片的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧2021-04-04Python 2.6.6升級到Python2.7.15的詳細步驟
這篇文章主要介紹了Python 2.6.6升級到Python2.7.15的詳細步驟,本文分步驟給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12python如何實現(xiàn)int函數(shù)的方法示例
int()函數(shù)常用來把其他類型轉(zhuǎn)換為整數(shù),下面這篇文章主要給大家介紹了關(guān)于python如何實現(xiàn)int函數(shù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習學(xué)習吧。2018-02-02