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

簡單分析Python中用fork()函數(shù)生成的子進(jìn)程

 更新時(shí)間:2015年05月04日 10:06:10   投稿:goldensun  
這篇文章主要介紹了Python中用fork()函數(shù)生成的子進(jìn)程,分析子進(jìn)程與父進(jìn)程的執(zhí)行順序,需要的朋友可以參考下

python的os module中有fork()函數(shù)用于生成子進(jìn)程,生成的子進(jìn)程是父進(jìn)程的鏡像,但是它們有各自的地址空間,子進(jìn)程復(fù)制一份父進(jìn)程內(nèi)存給自己,兩個(gè)進(jìn)程之 間的執(zhí)行是相互獨(dú)立的,其執(zhí)行順序可以是不確定的、隨機(jī)的、不可預(yù)測的,這點(diǎn)與多線程的執(zhí)行順序相似。 

import os
def child():
  print 'A new child:', os.getpid()
  print 'Parent id is:', os.getppid()
  os._exit(0)
def parent():
  while True:
    newpid=os.fork()
    print newpid
    if newpid==0:
      child()
    else:
      pids=(os.getpid(),newpid)
      print "parent:%d,child:%d"%pids
      print "parent parent:",os.getppid()    
    if raw_input()=='q':
      break
parent()

    在我們加載了os模塊之后,我們parent函數(shù)中fork()函數(shù)生成了一個(gè)子進(jìn)程,返回值newpid有兩個(gè),一個(gè)為0,用以表示子進(jìn)程,一個(gè)是大于 0的整數(shù),用以表示父進(jìn)程,這個(gè)常數(shù)正是子進(jìn)程的pid. 通過print語句我們可以清晰看到兩個(gè)返回值。如果fork()返回值是一個(gè)負(fù)值,則表明子進(jìn)程生成不成功(這個(gè)簡單程序中沒有考慮這種情況)。如果 newpid==0,則表明我們進(jìn)入到了子進(jìn)程,也就是child()函數(shù)中,在子進(jìn)程中我們輸出了自己的id和父進(jìn)程的id。如果進(jìn)入了else語句, 則表明newpid>0,我們進(jìn)入到父進(jìn)程中,在父進(jìn)程中os.getpid()得到自己的id,fork()返回值newpid表示了子進(jìn)程的id,同時(shí)我們輸出了父進(jìn)程的父進(jìn)程的id. 通過實(shí)驗(yàn)我們可以看到if和else語句的執(zhí)行順序是不確定的,子、父進(jìn)程的執(zhí)行順序由操作系統(tǒng)的調(diào)度算法來決定。

相關(guān)文章

  • 通過Python中的http.server搭建文件上傳下載服務(wù)功能

    通過Python中的http.server搭建文件上傳下載服務(wù)功能

    通過本文我們學(xué)習(xí)了如何使用Python的http.server模塊搭建一個(gè)基本的HTTP服務(wù)器,并實(shí)現(xiàn)文件下載服務(wù),介紹了如何設(shè)置服務(wù)器端口、自定義文件目錄、定制HTTP響應(yīng)頭以及處理GET請求,感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • Python使用execjs執(zhí)行包含中文參數(shù)的JavaScript

    Python使用execjs執(zhí)行包含中文參數(shù)的JavaScript

    爬蟲的開發(fā)過程中,往往需要對JS進(jìn)行模擬,簡單或者通用的還可以在Python中模擬或者找到對應(yīng)的第三方庫,但是復(fù)雜的就可能不好實(shí)現(xiàn)了,下面這篇文章主要給大家介紹了關(guān)于Python使用execjs執(zhí)行包含中文參數(shù)的JavaScript的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • Python基于ImageAI實(shí)現(xiàn)圖像識別詳解

    Python基于ImageAI實(shí)現(xiàn)圖像識別詳解

    ImageAI是一個(gè)面向計(jì)算機(jī)視覺編程的Python庫,支持最先進(jìn)的機(jī)器學(xué)習(xí)算法。本文將利用ImageAI實(shí)現(xiàn)圖像識別功能,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-02-02
  • Python實(shí)現(xiàn)計(jì)算機(jī)時(shí)長管理程序

    Python實(shí)現(xiàn)計(jì)算機(jī)時(shí)長管理程序

    這篇文章主要為大家詳細(xì)介紹了如何使用Python編寫一個(gè)包含倒計(jì)時(shí),密碼驗(yàn)證,音頻控制,系統(tǒng)進(jìn)程監(jiān)控與終止等功能的程序,需要的可以了解下
    2025-02-02
  • Pycharm掛代理后依舊插件下載慢的完美解決方法

    Pycharm掛代理后依舊插件下載慢的完美解決方法

    狠多朋友在使用Pycharm插件時(shí),反應(yīng)下載速度很慢,掛載了代理還是不夠,怎么解決這一問題呢,下面小編給大家代理了Pycharm插件下載慢的完美解決方法,需要的朋友參考下吧
    2021-08-08
  • 用selenium解決滑塊驗(yàn)證碼的實(shí)現(xiàn)步驟

    用selenium解決滑塊驗(yàn)證碼的實(shí)現(xiàn)步驟

    驗(yàn)證碼作為一種自然人的機(jī)器人的判別工具,被廣泛的用于各種防止程序做自動化的場景中,下面這篇文章主要給大家介紹了關(guān)于用selenium解決滑塊驗(yàn)證碼的實(shí)現(xiàn)步驟,需要的朋友可以參考下
    2023-02-02
  • Python中if語句的基本格式實(shí)例代碼

    Python中if語句的基本格式實(shí)例代碼

    在Python中,if語句用于根據(jù)條件執(zhí)行不同的代碼塊。本文詳細(xì)介紹了Python中if語句的基本格式使用方法及實(shí)例代碼,有需要的同學(xué)可以參考閱讀
    2023-05-05
  • Python批量自動修改文件名,按指定的格式自動命名方式

    Python批量自動修改文件名,按指定的格式自動命名方式

    這篇文章主要介紹了Python批量自動修改文件名,按指定的格式自動命名方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Pandas缺失值2種處理方式代碼實(shí)例

    Pandas缺失值2種處理方式代碼實(shí)例

    這篇文章主要介紹了Pandas缺失值2種處理方式代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Python使用Scapy實(shí)現(xiàn)構(gòu)造特殊數(shù)據(jù)包

    Python使用Scapy實(shí)現(xiàn)構(gòu)造特殊數(shù)據(jù)包

    Scapy是一款Python庫,可用于構(gòu)建、發(fā)送、接收和解析網(wǎng)絡(luò)數(shù)據(jù)包,這篇文章主要為大家詳細(xì)介紹了python如何使用Scapy構(gòu)造特殊數(shù)據(jù)包,有需要的可以參考下
    2023-11-11

最新評論

桐梓县| 芜湖县| 乌兰浩特市| 石渠县| 南通市| 赣州市| 陆河县| 宁都县| 康定县| 定州市| 惠水县| 区。| 同德县| 枣强县| 塔城市| 博白县| 井冈山市| 梨树县| 岑巩县| 牙克石市| 昌黎县| 江门市| 大洼县| 大新县| 桦川县| 沙湾县| 漳平市| 湟源县| 东乌珠穆沁旗| 木里| 定远县| 浦北县| 于田县| 杭锦后旗| 贵州省| 民丰县| 庄河市| 泰宁县| 普安县| 蓝田县| 丹寨县|