成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Python進(jìn)程專題1:fork():創(chuàng)建子進(jìn)程、getpid()、getppid()

galois / 2061人閱讀

摘要:程序執(zhí)行到時(shí),操作系統(tǒng)會創(chuàng)建一個(gè)新進(jìn)程子進(jìn)程,并把父進(jìn)程的所有信息賦值到子進(jìn)程中。多次可發(fā)現(xiàn)父子進(jìn)程執(zhí)行順序沒有規(guī)律,完全取決于操作系統(tǒng)的調(diào)度算法。

上一篇文章: Python進(jìn)程專題總覽篇
下一篇文章:Python進(jìn)程專題2:multiprocessing創(chuàng)建進(jìn)程
該方法只能在unix/Linux/Mac上運(yùn)行,windows不可以運(yùn)行。

程序執(zhí)行到fork()時(shí),操作系統(tǒng)會創(chuàng)建一個(gè)新進(jìn)程(子進(jìn)程),并把父進(jìn)程的所有信息賦值到子進(jìn)程中。

這個(gè)方法很特殊,會有兩次返回,分別在子進(jìn)程和父進(jìn)程返回一次,子進(jìn)程永遠(yuǎn)返回0,父進(jìn)程返回進(jìn)程的id.

getpid():返回當(dāng)前進(jìn)程的id

getppid():返回當(dāng)前進(jìn)程父進(jìn)程的id。

實(shí)例:

import os
id=os.fork()
index=0
if id<0:
    print("子進(jìn)程創(chuàng)建失敗了")
elif id==0:
    index+=1
    print("我是子進(jìn)程(%d),我的父進(jìn)程是:%d,index=%d"%(os.getpid(),os.getppid(),index))
else:
    index += 1
    print("我是父進(jìn)程:%d,我的子進(jìn)程是:%d,index=%d"%(os.getpid(),id,index))

結(jié)果:

我是父進(jìn)程:9735,我的子進(jìn)程是:9736,index=1
我是子進(jìn)程(9736),我的父進(jìn)程是:9735,index=1

從上面實(shí)例也可以看出:每個(gè)進(jìn)程的所有數(shù)據(jù)(包括全局變量)都各持一份,互不影響。

多次fork()可發(fā)現(xiàn):父子進(jìn)程執(zhí)行順序沒有規(guī)律,完全取決于操作系統(tǒng)的調(diào)度算法。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/42331.html

相關(guān)文章

  • Python進(jìn)程專題2:multiprocessing創(chuàng)進(jìn)程

    摘要:類常用屬性布爾值,指示進(jìn)程是否是后臺進(jìn)程。當(dāng)創(chuàng)建它的進(jìn)程終止時(shí),后臺進(jìn)程會自動(dòng)終止。進(jìn)程的整數(shù)退出指令。如果進(jìn)程仍然在運(yùn)行,它的值為,如果值為負(fù)數(shù),就表示進(jìn)程由信號所終止。 上一篇文章:Python進(jìn)程專題1:fork():創(chuàng)建子進(jìn)程、getpid()、getppid()下一篇文章:Python進(jìn)程專題3:繼承Process來創(chuàng)建進(jìn)程 由于fork()無法對Windows使用,而py...

    騫諱護(hù) 評論0 收藏0
  • Python進(jìn)程實(shí)踐

    摘要:多進(jìn)程的方式可以增加腳本的并發(fā)處理能力,支持這種多進(jìn)程的編程方式在類系統(tǒng)中,的模塊內(nèi)置了函數(shù)用以創(chuàng)建子進(jìn)程方式創(chuàng)建子進(jìn)程執(zhí)行結(jié)果從結(jié)果可以看到,從開始,下面的部分代碼運(yùn)行了兩次,第一次是父進(jìn)程運(yùn)行,第二次是子進(jìn)程運(yùn)行,且子進(jìn)程的的結(jié)果總是, 多進(jìn)程的方式可以增加腳本的并發(fā)處理能力, python 支持這種多進(jìn)程的編程方式 在類unix系統(tǒng)中, python的os 模塊內(nèi)置了fork 函...

    makeFoxPlay 評論0 收藏0
  • Python_系統(tǒng)編程

    摘要:主進(jìn)程會等待所有的子進(jìn)程先結(jié)束,然后再結(jié)束主進(jìn)程。關(guān)閉進(jìn)程池,關(guān)閉后實(shí)例不再接收新的請求等待實(shí)例中的所有子進(jìn)程執(zhí)行完畢,主進(jìn)程才會退出,必須放在語句之后。主進(jìn)程一般都用來等待,任務(wù)在子進(jìn)程中執(zhí)行。 多任務(wù):同一個(gè)時(shí)間段中,執(zhí)行多個(gè)函數(shù)/運(yùn)行多個(gè)程序. 操作系統(tǒng)可以同時(shí)運(yùn)行多個(gè)任務(wù):操作系統(tǒng)輪流讓各個(gè)任務(wù)交替執(zhí)行,任務(wù)1執(zhí)行0.01秒,切換到任務(wù)2,任務(wù)2執(zhí)行0.01秒,再切換到任務(wù)3,...

    wuaiqiu 評論0 收藏0
  • python學(xué)習(xí)筆記 - fork, multiprocessing

    摘要:近年來,人工智能的興起使得更加火爆了。獲取當(dāng)前進(jìn)程父進(jìn)程的。但是唯一遺憾的是,函數(shù)只能在系統(tǒng)中使用,不能在系統(tǒng)中使用。因此在下,需要將其包含在中。則是立即返回一個(gè)可迭代對象。則是返回可迭代函數(shù)。 Python一直是一門對初學(xué)者非常友好的語言,在數(shù)據(jù)分析、Web 開發(fā)、網(wǎng)絡(luò)安全、網(wǎng)絡(luò)爬蟲等方面應(yīng)用廣泛。近年來,人工智能的興起使得 Python 更加火爆了。 我們在處理大量數(shù)據(jù)或者需要快速...

    littleGrow 評論0 收藏0
  • Python進(jìn)程專題總覽篇

    摘要:一個(gè)進(jìn)程,通常是從上往下逐條語句執(zhí)行,這對正常人來說都比較好理解,但是當(dāng)遇到多進(jìn)程時(shí),雖然在每個(gè)進(jìn)程內(nèi)還是逐句執(zhí)行,但是這個(gè)應(yīng)用程序,體現(xiàn)出出來的就不是逐句執(zhí)行了,這也是多進(jìn)程多線程難以理解的原因。 上一篇文章:Python垃圾回收詳解下一篇文章:Python進(jìn)程專題1:fork():創(chuàng)建子進(jìn)程、getpid()、getppid() 多進(jìn)程就是同時(shí)進(jìn)行多項(xiàng)任務(wù),一個(gè)程序就可以看成是一...

    HtmlCssJs 評論0 收藏0

發(fā)表評論

0條評論

galois

|高級講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<