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

您的位置:首頁技術(shù)文章
文章詳情頁

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

瀏覽:88日期: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() 判斷當(dāng)前進程是否還活著。 terminate() 中斷該進程。 name屬性 可以為該進程重命名,也可以獲得該進程的名稱。 daemon 和守護線程類似,通過設(shè)置該屬性為 True,可將新建進程設(shè)置為“守護進程”。 pid 返回進程的 ID 號。大多數(shù)操作系統(tǒng)都會為每個進程配備唯一的 ID 號。

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

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

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

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

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

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

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

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

from multiprocessing import Processimport osprint('當(dāng)前進程ID:',os.getpid())# 定義一個函數(shù),準備作為新進程的 target 參數(shù)def action(name,*add): print(name) for arc in add: print('%s --當(dāng)前進程%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í)行結(jié)果為:當(dāng)前進程ID: 12980主進程http://jb51.net/python/ --當(dāng)前進程12980http://jb51.net/shell/ --當(dāng)前進程12980http://jb51.net/java/ --當(dāng)前進程12980當(dāng)前進程ID: 12860my_process進程http://jb51.net/python/ --當(dāng)前進程12860http://jb51.net/shell/ --當(dāng)前進程12860http://jb51.net/java/ --當(dāng)前進程12860

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

此程序中有 2 個進程,分別為主進程和我們創(chuàng)建的新進程,主進程會執(zhí)行整個程序,而子進程不會執(zhí)行 if __name__ == ’__main__’ 中包含的程序,而是先執(zhí)行此判斷語句之外的所有可執(zhí)行程序,然后再執(zhí)行我們分配讓它的任務(wù)(也就是通過 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('當(dāng)前進程ID:',os.getpid())# 定義一個函數(shù),供主進程調(diào)用def action(name,*add): print(name) for arc in add: print('%s --當(dāng)前進程%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āng)前進程%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í)行結(jié)果為:當(dāng)前進程ID: 22240主進程http://jb51.net/python/ --當(dāng)前進程22240http://jb51.net/shell/ --當(dāng)前進程22240http://jb51.net/java/ --當(dāng)前進程22240當(dāng)前進程ID: 18848my_process進程http://jb51.net/python/ --當(dāng)前進程18848http://jb51.net/shell/ --當(dāng)前進程18848http://jb51.net/java/ --當(dāng)前進程18848

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

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

標簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久精品伊人| 欧美1级日本1级| 亚洲综合激情在线| 欧美一级专区| 亚洲精一区二区三区| 红桃视频国产一区| 日韩视频在线一区二区三区 | 婷婷综合激情| 精品欧美激情在线观看| 欧美搞黄网站| 丝袜美腿亚洲一区| 婷婷综合福利| 国产精品密蕾丝视频下载| 国产精品黄网站| 精品视频自拍| 韩国精品主播一区二区在线观看 | 日本特黄久久久高潮| 日韩精品久久理论片| 国产日韩亚洲| 成人午夜亚洲| 久久中文字幕二区| 午夜在线精品偷拍| 欧美一级网站| 成人午夜网址| 欧美精品一区二区三区精品| 美女毛片一区二区三区四区| 日韩亚洲精品在线| 18国产精品| 天堂√中文最新版在线| 欧美日韩激情| 日韩一区免费| 另类专区亚洲| 怡红院精品视频在线观看极品| 免费人成黄页网站在线一区二区| 欧美日韩一区二区三区四区在线观看| 国产欧美激情| 九九色在线视频| 免费视频一区二区| 精品午夜视频| 影音国产精品| 国产毛片一区二区三区| 色偷偷色偷偷色偷偷在线视频| 中文在线一区| 国产精品极品| 午夜影院欧美| 国产精品对白久久久久粗| 日韩精品久久久久久久电影99爱| 手机精品视频在线观看| 免费精品一区| 欧美日韩国产欧| 国产精品宾馆| 在线视频亚洲| 欧美国产精品| 国产农村妇女精品一二区| 国产日产精品_国产精品毛片| 97精品在线| 丝袜美腿一区二区三区| 精品高清久久| 亚洲+小说+欧美+激情+另类| www.九色在线| 日韩一区二区三区在线看| 亚洲日本网址| **爰片久久毛片| 久久精品导航| 国产精品白丝久久av网站| 夜夜嗨网站十八久久| 久久影院资源站| 久久国产福利| 日韩欧美一区二区三区免费看| 综合日韩在线| 91亚洲人成网污www| 婷婷综合电影| 图片区亚洲欧美小说区| 国产精品久久观看| 婷婷精品久久久久久久久久不卡| 91亚洲自偷观看高清| 日本一区二区三区中文字幕| 日本精品在线中文字幕| 欧美一级网站| 亚洲欧美日韩精品一区二区| 福利一区和二区| 丝袜脚交一区二区| se01亚洲视频| 麻豆极品一区二区三区| 亚洲3区在线| 欧美日韩四区| 精品三区视频| 国产乱论精品| 日本亚州欧洲精品不卡| 日韩午夜精品| 久久人人99| 手机在线电影一区| 国产精品nxnn| 欧美精品中文字幕亚洲专区| 欧美中文日韩| 午夜久久影院| 欧美日韩一二| 国产传媒在线| 国产一区二区三区不卡视频网站 | 蜜桃av一区| 欧美1级日本1级| 999国产精品视频| 免费观看亚洲| 精品国产欧美| 精品国产一区二区三区噜噜噜| 日韩不卡一二三区| 亚洲精品欧洲| 久久电影一区| 亚洲中午字幕| 9色国产精品| 欧美精品九九| 在线视频亚洲| 天堂成人国产精品一区| 亚洲免费网址| 免费视频最近日韩| 蜜臀a∨国产成人精品| 国产麻豆综合| 综合国产精品| 国产农村妇女精品一二区| 欧美午夜不卡| 国产亚洲亚洲| 中文视频一区| 美女网站久久| 亚洲资源在线| 日韩精品高清不卡| 91精品国产一区二区在线观看| 日韩国产精品久久久| 日韩福利在线观看| 欧美日韩中出| 麻豆国产91在线播放| 国产一区调教| 日韩欧美一区二区三区在线观看| 超碰在线99| av中文资源在线资源免费观看| 亚洲黄色中文字幕| 九九色在线视频| 国内精品99| 午夜在线精品| 视频国产精品| 欧美日本久久| 国产精品chinese| 成人在线视频免费看| 国产v日韩v欧美v| 国户精品久久久久久久久久久不卡| 黄色亚洲精品| 亚洲综合婷婷| 欧美国产日本| 电影亚洲精品噜噜在线观看| 99久久99视频只有精品| 亚洲女同中文字幕| 亚洲网址在线观看| 欧美日一区二区三区在线观看国产免| 国产精品一卡| 欧洲精品一区二区三区| 欧美成人亚洲| 蜜臀av国产精品久久久久| 国产视频网站一区二区三区| 国产精品久久久久久久久久妞妞 | 久久三级福利| 快she精品国产999| 国产乱人伦丫前精品视频 | 黄色网一区二区| 999国产精品视频| 中文字幕一区二区精品区| 青青草国产成人99久久| 精品国产三区在线| 尤物在线精品| 欧美一区影院| 麻豆国产在线| 99国产精品视频免费观看一公开 | 久久久噜噜噜| 综合激情视频| 黄色aa久久| 亚洲天堂av资源在线观看| 欧美xxxx性| 亚洲女同一区| 欧美精品第一区| 亚州av乱码久久精品蜜桃| 亚洲综合图色| 最新中文字幕在线播放| 免费观看久久久4p| 国际精品欧美精品| 午夜在线一区| 久久尤物视频| 日韩在线观看一区二区| 精品国产一区二区三区2021| 91精品91| 国产精品15p| 亚洲在线免费| 国产一二在线播放| 日韩在线观看一区二区三区| 樱桃视频成人在线观看| 日韩综合一区二区三区| 久久久久久久久久久9不雅视频| 日韩视频1区| 欧美日韩水蜜桃| 精品视频一区二区三区四区五区 | 国产日产精品_国产精品毛片 | 国产一区观看| 国产精品视频一区视频二区|