日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

进程比较基础的内容

發(fā)布時間:2025/6/17 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 进程比较基础的内容 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

目錄

  • 1.創(chuàng)建多進程的兩種方式
    • 1.1 方式一(函數(shù))
    • 1.2 方式二(類)
  • 2.孤兒進程和僵尸進程
  • 3.pid,一個進程的身份證
  • 4.Process的join方法
  • 5.Process的name和is_alive方法
  • 6.Process的terminal
  • 7.守護進程

1.創(chuàng)建多進程的兩種方式

1.1 方式一(函數(shù))

# 方式一 from multiprocessing import Process import timedef test(name):print(f"{name}的子進程開始...")time.sleep(3)print("子進程結(jié)束...") if __name__ == '__main__':p = Process(target=test,args=("xc",)) # 要用元組哦p.start()# time.sleep(3)print("主進程")

1.2 方式二(類)

# 方式二 from multiprocessing import Process import timeclass My(Process):def __init__(self,name):super().__init__()self.name = namedef run(self):print(f"{self.name}的子進程開始...")time.sleep(3)print("子進程結(jié)束...") if __name__ == '__main__':p = My('xc')p.start()print("xc的主進程")

2.孤兒進程和僵尸進程

  • 孤兒進程:其實就是主繼承執(zhí)行完了,子進程還沒執(zhí)行完,因為會變成僵尸進程,以及占用pid號,所以就會被init方法回收
  • 僵尸進程:其實就是子進程運行完了之后,他不是真正的運行完,而是會保留一些信息,其中pid是最主要的信息,僵尸進程,會在主程序執(zhí)行完了之后被自動回收

3.pid,一個進程的身份證

from multiprocessing import Process import time import osclass My(Process):def __init__(self,name):super().__init__()self.name = namedef run(self):print(f"{self.name}的子進程開始...")print(self.pid)print(os.getpid())print(os.getppid())time.sleep(3)print("子進程結(jié)束...") if __name__ == '__main__':p = My('xc')print(os.getpid())p.start()print("xc的主進程")""" 打印結(jié)果:11200xc的主進程xc的子進程開始...6664666411200子進程結(jié)束... """
  • 通過以上數(shù)據(jù)我們了解了使用os模塊的getpid和getppid方法獲取進程的pid序號,其中g(shù)etpid是獲取當前進程的pid,而ppid是獲取父進程的pid
  • 當然查看pid的方法不止這一個

4.Process的join方法

  • 等待子進程運行完,在執(zhí)行主進程的代碼,阻塞主程序的運行
from multiprocessing import Process import time def foo():print("程序開始...")time.sleep(3)print("程序結(jié)束...")if __name__ == '__main__':p = Process(target=foo)p1 = Process(target=foo)p2 = Process(target=foo)start = time.time()p.start()p1.start()p2.start()p.join() # 會阻塞主程序的運行p1.join()p2.join()end = time.time()print("主程序結(jié)束...")print(start-end) # 打印結(jié)果:# 程序開始...# 程序結(jié)束...# 程序開始...# 程序開始...# 程序結(jié)束...# 程序結(jié)束...# 主程序結(jié)束...# -3.150564193725586 # 如果表示形式為以上的AAABBB形式,那么所需的時間為3s以上,說明這種寫法是主程序等待所有都在運行的子程序執(zhí)行完###################################################################################################from multiprocessing import Process import time def foo():print("程序開始...")time.sleep(3)print("程序結(jié)束...")if __name__ == '__main__':p = Process(target=foo)p1 = Process(target=foo)p2 = Process(target=foo)start = time.time()p.start()p.join() # 會阻塞主程序的運行p1.start()p1.join()p2.start()p2.join()print("主程序結(jié)束...")end = time.time()print(start-end) # 打印結(jié)果:# 程序開始...# 程序結(jié)束...# 程序開始...# 程序結(jié)束...# 程序開始...# 程序結(jié)束...# 主程序結(jié)束...# -9.349010705947876 # 根據(jù)上面的內(nèi)容來看,如果按照ABABAB執(zhí)行,就會出現(xiàn)子程序等其他子程序執(zhí)行完再執(zhí)行,就會疊加時間,就是一個串行的進程了

5.Process的name和is_alive方法

  • name:查看子進程的名字(類似于這樣的名字,Process-1)
  • is_alive:返回值為布爾類型,判斷子進程是否結(jié)束,需要一定的結(jié)束時間,所以使用time模塊等一會兒,或者使用join方法等待結(jié)束,如果還沒結(jié)束就返回True,結(jié)束了就返回False
from multiprocessing import Process import timedef foo():print("進程開始...")time.sleep(3)print("進程結(jié)束...")if __name__ == '__main__':p = Process(target=foo)# print(p.is_alive())p.start()print(p.name)print(p.is_alive())time.sleep(5)print("主程序結(jié)束...")print(p.is_alive())# 自己試驗下,情況就是name這個屬性對應著創(chuàng)建線程的一個代號,它是往下迭代的例如:Process-1,Process-2這樣迭代# 關(guān)于is_alive則是表示子程序有沒有結(jié)束,主要是看子程序有沒有運行完,可以使用time模塊測試

6.Process的terminal

  • 強制結(jié)束子進程(類似于start,是給操作系統(tǒng)信號,并不是直接結(jié)束)
from multiprocessing import Process import timedef foo():print("進程開始...")time.sleep(3)print("進程結(jié)束...")if __name__ == '__main__':p = Process(target=foo)p.start()print(p.is_alive())p.terminate() # 強制結(jié)束子進程p.join() # 我們必須在這里使用join,等待進程結(jié)束,那就有人問了,你等他結(jié)束了is_alive肯定是Flase呀,但是我們的注意點是子程序沒有打印數(shù)據(jù)print(p.is_alive())print("主進程結(jié)束...")# 對于Process中的terminate的使用也和start一樣,他只是去給操作系統(tǒng)發(fā)送了關(guān)閉子進程的信號,并不是直接結(jié)束

7.守護進程

  • 忠心耿耿的進程,通過 對象名.daemon = True 的方法定義一個守護進程.
from multiprocessing import Process import time """ 守護進程 守護 --> 伴隨 本質(zhì)上也是一個子進程 主進程的代碼執(zhí)行完畢守護進程直接結(jié)束,但是此時主進程可能沒有結(jié)束 """ def foo():print("守護進程開始...")time.sleep(3)print("守護進程結(jié)束...")if __name__ == '__main__':p = Process(target=foo)p.daemon = True # 這個就是把創(chuàng)建的子進程定義為守護進程,默認值應該是Flasep.start()# p.join()time.sleep(2)print("主進程結(jié)束...") # 也就是說主進程結(jié)束了,子進程就自動釋放了,就是不會運行了# 總結(jié)就是daemon這個方法把創(chuàng)建的子進程定義為守護進程,所謂的守護進程就是:主進程結(jié)束了,子進程也就是守護進程結(jié)束了 # 如果主進程沒結(jié)束,子進程也就是守護進程便會像普通進程一樣從有到無,從出現(xiàn)到離開 # 普通的子進程是不會管主進程的死活的,大不了變成孤兒進程繼續(xù)運行,反正會有init方法回收

轉(zhuǎn)載于:https://www.cnblogs.com/xiongchao0823/p/11515090.html

總結(jié)

以上是生活随笔為你收集整理的进程比较基础的内容的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲欧美日韩天堂 | 操操操视频 | 男女猛烈无遮挡免费视频 | 尤物在线精品 | 亚洲黄页网站 | 国产极品一区 | 97成人人妻一区二区三区 | 国产国产国产 | 欧美一级淫片免费视频魅影视频 | 天堂8在线视频 | 精品人妻一区二区三区浪潮在线 | 成人久久久久 | 天堂中文视频在线 | ass亚洲尤物裸体pics | 国产精品国产三级国产三级人妇 | 网红福利视频 | 丝袜ol美脚秘书在线播放 | 极品少妇xxxx精品少妇 | 成人免费观看a | 国产乱码精品一区二区三区精东 | 久久久成人精品 | 日韩啊v | 中文字幕在线免费播放 | 日韩亚洲一区二区 | 一个人看的视频www 色就是色网站 | 91ts人妖另类精品系列 | 日本少妇一区二区 | 欧美一区二区二区 | 国产精品边吃奶边做爽 | 抱着老师的嫩臀猛然挺进视频 | 天堂在线中文字幕 | 国产精品无码粉嫩小泬 | 亚洲第一视频 | 色呦网站 | 欧美一区欧美二区 | 双女主黄文 | 老师用丝袜脚帮我脚交 | 黑鬼巨鞭白妞冒白浆 | 国产又黄又嫩又滑又白 | www.黄色大片| 亚洲人成小说 | 国产精品久久久久久免费 | 99久久久无码国产精品性青椒 | 91国内精品| 91丝袜一区在线观看 | 综合网在线视频 | 久久久在线视频 | 美女福利一区 | 国内黄色一级片 | 亚洲国产精品一区二区久久hs | 国精产品一区一区三区mba下载 | 黄色1级片| 国产丰满农村老妇女乱 | 黄色小视频入口 | 中文字幕在线观看不卡 | 日韩av一卡二卡 | 涩涩在线播放 | 女儿的朋友5中汉字晋通话 欧美成人免费高清视频 | 波多野结衣av在线免费观看 | 精品国模一区二区三区欧美 | 激情偷乱人成视频在线观看 | 国产精品无码一区二区三区 | 成人夜间视频 | 91插插插插| 国产av电影一区二区三区 | 官场艳妇疯狂性关系 | 在线观看网站 | www伊人 | 国产日韩欧美在线观看 | 婷婷综合在线观看 | 99色播 | 日韩综合在线 | 精品xxxx | 日本欧美激情 | 日韩欧美激情在线 | 1024国产在线 | 成年人免费在线视频 | 婷婷综合在线视频 | 龚玥菲三级露全乳视频 | n0659极腔濑亚美莉在线播放播放 | 直接看的av | 老色批永久免费网站www | 日韩黄色视屏 | 国产精品一品 | 日本欧美一区二区三区不卡视频 | 在线免费观看网站入口在哪 | 又大又长粗又爽又黄少妇视频 | 国产女人18水真多毛片18精品 | 在线中文字日产幕 | 69精品国产 | 色二区| 福利第一页| 欧美精品aaa| 91精品婷婷国产综合久久蝌蚪 | 国产欧美日韩久久 | 夜色在线视频 | 久久精品国产亚洲av麻豆蜜芽 | 爱爱小视频网站 | 久久亚洲精精品中文字幕早川悠里 |