最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python使用multiprocessing創(chuàng)建進程的方法

 更新時間:2015年06月04日 09:51:51   作者:raygtr  
這篇文章主要介紹了Python使用multiprocessing創(chuàng)建進程的方法,實例分析了multiprocessing模塊操作進程的相關(guān)技巧,需要的朋友可以參考下

本文實例講述了Python使用multiprocessing創(chuàng)建進程的方法。分享給大家供大家參考。具體分析如下:

進程可以通過調(diào)用multiprocessing的Process進行創(chuàng)建,下面代碼創(chuàng)建兩個進程。

[root@localhost ~]# cat twoproces.py 
#!/usr/bin/env python
from multiprocessing import Process
import os
def output():
 print "My pid is :%d\n" % os.getpid()
 print "My parent is:%d\n" % os.getppid()
def main():
 p=Process(target=output) 
 p.start()
 print "I am parent %d\n" % os.getpid()
if __name__=="__main__":
 main()

運行結(jié)果如下:

[root@localhost ~]# ./twoproces.py 
I am parent 7656
My pid is :7660
My parent is:7656

以下程序結(jié)果的mypid值將在兩個進程中固定不變.

[root@localhost ~]# cat badprocessID.py 
#!/usr/bin/env python
from multiprocessing import Process
import os
def output(mypid):
 print "I am child %d ID :%d\n" % (os.getpid(),mypid)
def main():
 mypid=os.getpid()
 p=Process(target=output,args=(mypid,)) 
 print "I am parent %d\n" % os.getpid()
 p.start()
if __name__=="__main__":
 main()

有與子進程并沒有重設(shè)mypid,所以運行過程中mypid并沒有任何改變。

下面代碼將創(chuàng)建一個由子進程創(chuàng)建子進程的進程鏈。

[root@localhost ~]# cat simplechina.py 
#!/usr/bin/env python
import os
from multiprocessing import Process
def output(howmany,childpid):
 info = (howmany,os.getpid(),os.getppid(),childpid)
 print "i:%d process ID:%d parent ID%d child ID %d\n" % info
def chain(howmany):
 howmany = howmany-1
 if howmany > 0:
 p = Process(target=chain,args=(howmany,)) 
 p.start()
 output(howmany,p.pid)
def main():
 childpid = 0
 howmany=6
 p = Process(target=chain,args=(howmany,))
 p.start()
if __name__=="__main__":
 main()

有與主進程利用Process創(chuàng)建子進程,而子進程又再創(chuàng)建子進程(也就是A->B->C-D),如此類推,知道howmany小于0結(jié)束。運行1結(jié)果如下:

[root@localhost ~]# ./simplechina.py 
i:5 process ID:13581 parent ID13580 child ID 13582
i:4 process ID:13582 parent ID13581 child ID 13583
i:3 process ID:13583 parent ID13582 child ID 13584
i:2 process ID:13584 parent ID13583 child ID 13585
i:1 process ID:13585 parent ID13584 child ID 13586

接下來如何創(chuàng)建一個進程扇,也就是:
            A
          /   \
         B     C
建立simplefan.py文件,代碼如下:

[root@localhost ~]# cat simplefan.py 
#!/usr/bin/env python
import os
from multiprocessing import Process
def output(howmany,childpid):
 info = (howmany,os.getpid(),os.getppid(),childpid)
 print "i:%d process ID:%d parent ID%d child ID %d\n" % info
def fan(i):
 output(i,os.getpid())
def main():
 pList=[]
 for i in range(6):
 p = Process(target=fan,args=(i,))
 pList.append(p)
 for p in pList:
 p.start()
 for p in pList:
 p.join()
if __name__=="__main__":
 main()

運行結(jié)果如下:

[root@localhost ~]# ./simplefan.py 
i:0 process ID:13594 parent ID13593 child ID 13594
i:2 process ID:13596 parent ID13593 child ID 13596
i:3 process ID:13597 parent ID13593 child ID 13597
i:1 process ID:13595 parent ID13593 child ID 13595
i:4 process ID:13598 parent ID13593 child ID 13598
i:5 process ID:13599 parent ID13593 child ID 13599

除了進程ID為13593的進程外,其它進程的父進程都是13593
父進程利用join方法等等所有的子進程結(jié)束。

希望本文所述對大家的Python程序設(shè)計有所幫助。

相關(guān)文章

  • python繪制雪景圖

    python繪制雪景圖

    這篇文章主要為大家詳細介紹了python繪制雪景圖,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • Python json讀寫方式和字典相互轉(zhuǎn)化

    Python json讀寫方式和字典相互轉(zhuǎn)化

    這篇文章主要介紹了Python json讀寫方式和字典相互轉(zhuǎn)化,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04
  • python使用opencv對圖像mask處理的方法

    python使用opencv對圖像mask處理的方法

    這篇文章主要介紹了python使用opencv對圖像mask處理的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • python 計算兩個列表的相關(guān)系數(shù)的實現(xiàn)

    python 計算兩個列表的相關(guān)系數(shù)的實現(xiàn)

    這篇文章主要介紹了python 計算兩個列表的相關(guān)系數(shù)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Django和Flask框架優(yōu)缺點對比

    Django和Flask框架優(yōu)缺點對比

    這篇文章主要介紹了Django和Flask框架相關(guān)對比,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10
  • python tqdm 實現(xiàn)滾動條不上下滾動代碼(保持一行內(nèi)滾動)

    python tqdm 實現(xiàn)滾動條不上下滾動代碼(保持一行內(nèi)滾動)

    這篇文章主要介紹了python tqdm 實現(xiàn)滾動條不上下滾動代碼(保持一行內(nèi)滾動),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • python numpy 按行歸一化的實例

    python numpy 按行歸一化的實例

    今天小編就為大家分享一篇python numpy 按行歸一化的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • Swift 3.0在集合類數(shù)據(jù)結(jié)構(gòu)上的一些新變化總結(jié)

    Swift 3.0在集合類數(shù)據(jù)結(jié)構(gòu)上的一些新變化總結(jié)

    與字符串類似,Swift3在數(shù)組和字典等結(jié)構(gòu)上也有改動,這里我們就來整理Swift 3.0在集合類數(shù)據(jù)結(jié)構(gòu)上的一些新變化總結(jié):
    2016-07-07
  • opencv python 圖像去噪的實現(xiàn)方法

    opencv python 圖像去噪的實現(xiàn)方法

    這篇文章主要介紹了opencv python 圖像去噪的實現(xiàn)方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • xshell會話批量遷移到mobaxterm的工具(python小工具)

    xshell會話批量遷移到mobaxterm的工具(python小工具)

    這篇文章主要介紹了xshell會話批量遷移到mobaxterm的工具,使用方法也超級簡單,本文通過python代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-12-12

最新評論

民县| 台安县| 阿勒泰市| 柘城县| 永济市| 永胜县| 南通市| 南溪县| 米林县| 肃宁县| 额尔古纳市| 澄迈县| 都安| 视频| 于田县| 奈曼旗| 寿光市| 涟水县| 迁安市| 金昌市| 且末县| 渝北区| 东至县| 清水河县| 霍州市| 旬阳县| 富平县| 黄陵县| 怀集县| 德清县| 宜春市| 伊金霍洛旗| 灵丘县| 金堂县| 稷山县| 长葛市| 区。| 海南省| 志丹县| 庆安县| 南乐县|