日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Python Process創(chuàng)建進程的2種方法詳解

瀏覽:86日期:2022-06-29 10:57:22

前面介紹了使用 os.fork() 函數(shù)實現(xiàn)多進程編程,該方法最明顯的缺陷就是不適用于 Windows 系統(tǒng)。本節(jié)將介紹一種支持 Python 在 Windows 平臺上創(chuàng)建新進程的方法。

Python multiprocessing 模塊提供了 Process 類,該類可用來在 Windows 平臺上創(chuàng)建新進程。和使用 Thread 類創(chuàng)建多線程方法類似,使用 Process 類創(chuàng)建多進程也有以下 2 種方式:

直接創(chuàng)建 Process 類的實例對象,由此就可以創(chuàng)建一個新的進程;

通過繼承 Process 類的子類,創(chuàng)建實例對象,也可以創(chuàng)建新的進程。注意,繼承 Process 類的子類需重寫父類的 run() 方法。

不僅如此,Process 類中也提供了一些常用的屬性和方法,如表 1 所示。

屬性名或方法名 功能 run() 第 2 種創(chuàng)建進程的方式需要用到,繼承類中需要對方法進行重寫,該方法中包含的是新進程要執(zhí)行的代碼。 start() 和啟動子線程一樣,新創(chuàng)建的進程也需要手動啟動,該方法的功能就是啟動新創(chuàng)建的線程。 join([timeout]) 和 thread 類 join() 方法的用法類似,其功能是在多進程執(zhí)行過程,其他進程必須等到調(diào)用 join() 方法的進程執(zhí)行完畢(或者執(zhí)行規(guī)定的 timeout 時間)后,才能繼續(xù)執(zhí)行; is_alive() 判斷當前進程是否還活著。 terminate() 中斷該進程。 name屬性 可以為該進程重命名,也可以獲得該進程的名稱。 daemon 和守護線程類似,通過設置該屬性為 True,可將新建進程設置為“守護進程”。 pid 返回進程的 ID 號。大多數(shù)操作系統(tǒng)都會為每個進程配備唯一的 ID 號。

表 1 Python Process類常用屬性和方法

接下來將一一對創(chuàng)建進程的 2 種方法做詳細的講解。

通過Process類創(chuàng)建進程

和使用 thread 類創(chuàng)建子線程的方式非常類似,使用 Process 類創(chuàng)建實例化對象,其本質(zhì)是調(diào)用該類的構造方法創(chuàng)建新進程。Process 類的構造方法格式如下:

def __init__(self,group=None,target=None,name=None,args=(),kwargs={})

其中,各個參數(shù)的含義為:

group:該參數(shù)未進行實現(xiàn),不需要傳參; target:為新建進程指定執(zhí)行任務,也就是指定一個函數(shù); name:為新建進程設置名稱; args:為 target 參數(shù)指定的參數(shù)傳遞非關鍵字參數(shù); kwargs:為 target 參數(shù)指定的參數(shù)傳遞關鍵字參數(shù)。

下面程序演示了如何用 Process 類創(chuàng)建新進程。

from multiprocessing import Processimport osprint('當前進程ID:',os.getpid())# 定義一個函數(shù),準備作為新進程的 target 參數(shù)def action(name,*add): print(name) for arc in add: print('%s --當前進程%d' % (arc,os.getpid()))if __name__==’__main__’: #定義為進程方法傳入的參數(shù) my_tuple = ('http://jb51.net/python/', 'http://jb51.net/shell/', 'http://jb51.net/java/') #創(chuàng)建子進程,執(zhí)行 action() 函數(shù) my_process = Process(target = action, args = ('my_process進程',*my_tuple)) #啟動子進程 my_process.start() #主進程執(zhí)行該函數(shù) action('主進程',*my_tuple)

程序執(zhí)行結果為:當前進程ID: 12980主進程http://jb51.net/python/ --當前進程12980http://jb51.net/shell/ --當前進程12980http://jb51.net/java/ --當前進程12980當前進程ID: 12860my_process進程http://jb51.net/python/ --當前進程12860http://jb51.net/shell/ --當前進程12860http://jb51.net/java/ --當前進程12860

需要說明的是,通過 multiprocessing.Process 來創(chuàng)建并啟動進程時,程序必須先判斷 if __name__==’__main__’:,否則運行該程序會引發(fā)異常。

此程序中有 2 個進程,分別為主進程和我們創(chuàng)建的新進程,主進程會執(zhí)行整個程序,而子進程不會執(zhí)行 if __name__ == ’__main__’ 中包含的程序,而是先執(zhí)行此判斷語句之外的所有可執(zhí)行程序,然后再執(zhí)行我們分配讓它的任務(也就是通過 target 參數(shù)指定的函數(shù))。

通過Process繼承類創(chuàng)建進程

和使用 thread 子類創(chuàng)建線程的方式類似,除了直接使用 Process 類創(chuàng)建進程,還可以通過創(chuàng)建 Process 的子類來創(chuàng)建進程。

需要注意的是,在創(chuàng)建 Process 的子類時,需在子類內(nèi)容重寫 run() 方法。實際上,該方法所起到的作用,就如同第一種創(chuàng)建方式中 target 參數(shù)執(zhí)行的函數(shù)。

另外,通過 Process 子類創(chuàng)建進程,和使用 Process 類一樣,先創(chuàng)建該類的實例對象,然后調(diào)用 start() 方法啟動該進程。下面程序演示如何通過 Process 子類創(chuàng)建一個進程。

from multiprocessing import Processimport osprint('當前進程ID:',os.getpid())# 定義一個函數(shù),供主進程調(diào)用def action(name,*add): print(name) for arc in add: print('%s --當前進程%d' % (arc,os.getpid()))#自定義一個進程類class My_Process(Process): def __init__(self,name,*add): super().__init__() self.name = name self.add = add def run(self): print(self.name) for arc in self.add: print('%s --當前進程%d' % (arc,os.getpid()))if __name__==’__main__’: #定義為進程方法傳入的參數(shù) my_tuple = ('http://jb51.net/python/', 'http://jb51.net/shell/', 'http://jb51.net/java/') my_process = My_Process('my_process進程',*my_tuple) #啟動子進程 my_process.start() #主進程執(zhí)行該函數(shù) action('主進程',*my_tuple)

程序執(zhí)行結果為:當前進程ID: 22240主進程http://jb51.net/python/ --當前進程22240http://jb51.net/shell/ --當前進程22240http://jb51.net/java/ --當前進程22240當前進程ID: 18848my_process進程http://jb51.net/python/ --當前進程18848http://jb51.net/shell/ --當前進程18848http://jb51.net/java/ --當前進程18848

顯然,該程序的運行結果與上一個程序的運行結果大致相同,它們只是創(chuàng)建進程的方式略有不同而已。推薦讀者使用第一種方式來創(chuàng)建進程,因為這種方式不僅編程簡單,而且進程直接包裝 target 函數(shù),具有更清晰的邏輯結構。

到此這篇關于Python Process創(chuàng)建進程的2種方法詳解的文章就介紹到這了,更多相關Python Process創(chuàng)建進程內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網(wǎng)!

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美成人精品一级| 在线观看一区| 国产伦理久久久久久妇女| 国产视频网站一区二区三区| 国产精品调教视频| 久久精品亚洲| 久久wwww| 成人午夜国产| 合欧美一区二区三区| 亚洲人成毛片在线播放女女| 国产劲爆久久| 日韩一区电影| 亚洲啊v在线| 91超碰国产精品| 五月亚洲婷婷 | 日本va欧美va精品| 欧美激情五月| 免费欧美一区| 国产情侣一区在线| 久久九九99| 中文字幕乱码亚洲无线精品一区| 国产欧美日韩精品一区二区免费 | 久久久久久久欧美精品| 一本大道色婷婷在线| 亚洲午夜在线| 亚洲女同中文字幕| 少妇精品久久久一区二区| 亚洲乱码久久| 麻豆成人综合网| 欧美成a人免费观看久久| 日韩视频一区| 日韩激情啪啪| 欧美精品97| 国内不卡的一区二区三区中文字幕| 日本午夜大片a在线观看| 亚洲午夜一级| 国产欧美91| 蜜桃一区二区三区| 麻豆视频一区二区| 亚洲一二av| 久久久久久色| 欧美偷窥清纯综合图区| 麻豆视频一区| 久久国产66| 日韩av二区| 蜜臀av国产精品久久久久 | 亚洲美洲欧洲综合国产一区| 麻豆免费精品视频| 综合日韩在线| 亚洲国产日韩欧美在线| 麻豆中文一区二区| 亚洲人成网站在线在线观看| 日韩欧美中文| 国产精品17p| 亚洲综合电影一区二区三区| 国产成人精选| 亚洲精品日韩久久| 亚洲婷婷免费| 国产专区精品| 欧美亚洲色图校园春色| 国产一区二区三区探花| 在线观看亚洲精品福利片| 日韩国产欧美一区二区三区| 日韩亚洲精品在线观看| 九九九精品视频| 野花国产精品入口| 亚洲成av在线| 99成人在线| 亚洲精品一二| 久久久久亚洲| 日韩午夜免费| 91视频一区| 亚洲人成在线影院| 欧美va天堂在线| 福利在线免费视频| 国产欧美日本| 老鸭窝毛片一区二区三区| 日韩一区网站| 97se综合| 好看的亚洲午夜视频在线| 国产中文欧美日韩在线| 欧美日韩国产欧| 国产精品亚洲综合在线观看| 99热精品久久| 亚洲区第一页| 麻豆一区二区在线| 国产精品中文| 久久国产精品久久久久久电车| 国产精品一区二区美女视频免费看 | 免费观看在线综合色| 久久久精品国产**网站| 久久国产生活片100| 精品久久视频| 色综合狠狠操| 欧美影院三区| 亚洲精品成人| 欧美日韩激情| 精品中文字幕一区二区三区av| 日韩精品欧美大片| 久久久蜜桃一区二区人| 日韩激情精品| 国模 一区 二区 三区| 97精品久久| 国产欧美91| 免费看日韩精品| 国产日韩一区二区三区在线播放| 精品三级国产| 欧美日韩精品一本二本三本| 久久精品福利| 久久精品免费看| 欧美.日韩.国产.一区.二区 | 日韩精品社区| 在线一区免费观看| 人人精品人人爱| 六月婷婷综合| 99成人在线视频| 久久aⅴ国产紧身牛仔裤| 日韩在线综合| 亚洲天堂1区| 精品三级av| 精品国产aⅴ| 老司机精品视频网| 涩涩涩久久久成人精品| 欧美成人综合| 久久国产视频网| 青青青免费在线视频| 色乱码一区二区三区网站| 欧美激情精品| 91精品一区二区三区综合在线爱| 欧美日韩国产高清| 免费久久精品视频| 国产精品一区二区三区四区在线观看| 久久国产精品99国产| 黑丝一区二区| 日韩在线电影| 中文字幕成在线观看| 日韩精品一区二区三区av | 成人国产精品一区二区网站| 日韩影院在线观看| 香蕉精品久久| 精品国产成人| 欧洲av不卡| 日韩在线电影| 亚洲免费福利| 午夜精品久久久久久久久久蜜桃| 国产精区一区二区| 国产精品嫩模av在线| 午夜一区在线| 成人av三级| 日韩精品视频一区二区三区| 欧美精品成人| 日韩成人在线看| 国产欧美另类| 日韩福利视频导航| 日本成人在线不卡视频| 乱一区二区av| 精品久久91| 久久理论电影| 免费一级片91| 日日夜夜免费精品视频| 国产精品igao视频网网址不卡日韩| 国产成人久久| 丝瓜av网站精品一区二区| 日韩精品一区第一页| 国产免费av国片精品草莓男男| 一区二区国产在线观看| 免费精品视频| 国产精品国码视频| 国产一区二区三区天码| 国产调教精品| 色综合www| 综合欧美亚洲| 精品日韩毛片| 亚洲性色av| 久久一区欧美| 国产精品日韩| 亚洲一区欧美| 久久精品国产99久久| 亚洲免费影院| 欧美国产不卡| 精品视频自拍| 你懂的网址国产 欧美| 香蕉精品久久| 久久电影一区| 亚洲一级黄色| 最近高清中文在线字幕在线观看1| 日韩久久精品网| 日韩黄色在线观看| 国产极品模特精品一二| 国产精品一区毛片| 国产精品a级| 蜜臀久久99精品久久久久久9| 欧美成人基地| 91成人精品在线| 国产白浆在线免费观看| 精品免费av| 亚洲精品美女91| 日韩视频精品在线观看| 欧美日韩日本国产亚洲在线| 亚洲午夜久久|