Python進(jìn)程,多進(jìn)程,獲取進(jìn)程id,給子進(jìn)程傳遞參數(shù)操作示例
本文實(shí)例講述了Python進(jìn)程,多進(jìn)程,獲取進(jìn)程id,給子進(jìn)程傳遞參數(shù)操作。分享給大家供大家參考,具體如下:
線程與線程之間共享全局變量,進(jìn)程之間不能共享全局變量。
進(jìn)程與進(jìn)程相互獨(dú)立 (可以通過(guò)socket套接字實(shí)現(xiàn)進(jìn)程間通信,可以通過(guò)硬盤(pán)(文件)實(shí)現(xiàn)進(jìn)程通信,也可以通過(guò)隊(duì)列(Queue)實(shí)現(xiàn)進(jìn)程通信)
子進(jìn)程會(huì)拷貝復(fù)制主進(jìn)程中的所有資源(變量、函數(shù)定義等),所以子進(jìn)程比子線程耗費(fèi)資源。
demo.py(多進(jìn)程):
import threading # 線程 import time import multiprocessing # 進(jìn)程 def test1(): while True: print("1--------") time.sleep(1) def test2(): while True: print("2--------") time.sleep(1) def main(): # t1 = threading.Thread(target=test1) # 線程 # t2 = threading.Thread(target=test2) # t1.start() # 多線程的方式實(shí)現(xiàn)多任務(wù) # t2.start() p1 = multiprocessing.Process(target=test1) # 進(jìn)程 (進(jìn)程比線程占用資源多) p2 = multiprocessing.Process(target=test2) p1.start() # 多進(jìn)程的方式實(shí)現(xiàn)多任務(wù) (進(jìn)程比線程占用資源多) p2.start() if __name__ == "__main__": main()
demo.py(獲取進(jìn)程、父進(jìn)程id):
import multiprocessing import os import time def test(): while True: print("----in 子進(jìn)程 pid=%d ,父進(jìn)程的pid=%d---" % (os.getpid(), os.getppid())) time.sleep(1) def main(): # os.getpid() 獲取當(dāng)前進(jìn)程的進(jìn)程id # os.getppid() 獲取當(dāng)前進(jìn)程的父進(jìn)程id print("----in 主進(jìn)程 pid=%d---父進(jìn)程pid=%d----" % (os.getpid(), os.getppid())) p = multiprocessing.Process(target=test) p.start() # 開(kāi)啟子進(jìn)程 if __name__ == "__main__": main()
demo.py(給子進(jìn)程傳遞參數(shù)):
import multiprocessing def test(a, b, c, *args, **kwargs): print(a) # 11 print(b) # 22 print(c) # 33 print(args) # (44, 55, 66, 77, 88) print(kwargs) # {'age': 20, 'name': '張三'} def main(): p = multiprocessing.Process(target=test, args=(11, 22, 33, 44, 55, 66, 77, 88), kwargs={"name": "張三","age": 20}) p.start() if __name__ == "__main__": main()
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Python進(jìn)程與線程操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門(mén)與進(jìn)階經(jīng)典教程》、《Python+MySQL數(shù)據(jù)庫(kù)程序設(shè)計(jì)入門(mén)教程》及《Python常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
- python啟動(dòng)辦公軟件進(jìn)程(word、excel、ppt、以及wps的et、wps、wpp)
- Python子進(jìn)程subpocess原理及用法解析
- python多進(jìn)程 主進(jìn)程和子進(jìn)程間共享和不共享全局變量實(shí)例
- python TK庫(kù)簡(jiǎn)單應(yīng)用(實(shí)時(shí)顯示子進(jìn)程輸出)
- 在Python中os.fork()產(chǎn)生子進(jìn)程的例子
- 對(duì)Python subprocess.Popen子進(jìn)程管道阻塞詳解
- python清理子進(jìn)程機(jī)制剖析
- python subprocess 殺掉全部派生的子進(jìn)程方法
- 如何用 Python 子進(jìn)程關(guān)閉 Excel 自動(dòng)化中的彈窗
相關(guān)文章
python機(jī)器學(xué)習(xí)樸素貝葉斯算法及模型的選擇和調(diào)優(yōu)詳解
這篇文章主要為大家介紹了python機(jī)器學(xué)習(xí)樸素貝葉斯及模型的選擇和調(diào)優(yōu)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-11-11利用Python實(shí)現(xiàn)網(wǎng)站自動(dòng)簽到
小五收藏了一些論壇網(wǎng)站,經(jīng)常需要自己登錄簽到,以此來(lái)獲得積分金幣等等。但天天手動(dòng)太容易忘了這件事啦。畢竟我們都會(huì)用python了,那就可以使用Selenium操作,接下來(lái)就和大家講講如何利用Python實(shí)現(xiàn)網(wǎng)站自動(dòng)簽到2022-08-08Python實(shí)現(xiàn)提取給定網(wǎng)頁(yè)內(nèi)的所有鏈接
這篇文章主要和大家分享一個(gè)實(shí)用的Python腳本,可以實(shí)現(xiàn)從給定的網(wǎng)頁(yè)中檢索所有鏈接,并將其保存為txt文件,需要的小伙伴可以收藏一下2023-05-05詳解Python并發(fā)編程之從性能角度來(lái)初探并發(fā)編程
這篇文章主要介紹了詳解Python并發(fā)編程之從性能角度來(lái)初探并發(fā)編程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08pytorch nn.Conv2d()中的padding以及輸出大小方式
今天小編就為大家分享一篇pytorch nn.Conv2d()中的padding以及輸出大小方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01python中g(shù)etattr函數(shù)使用方法 getattr實(shí)現(xiàn)工廠模式
這篇文章主要介紹了python中g(shù)etattr()這個(gè)函數(shù)的一些用法,大家參考使用吧2014-01-01python實(shí)現(xiàn)對(duì)文件進(jìn)行MD5校驗(yàn)
這篇文章主要為大家詳細(xì)介紹了如何使用python對(duì)文件進(jìn)行MD5校驗(yàn)并比對(duì)文件重復(fù),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-01-01Python標(biāo)準(zhǔn)庫(kù)itertools的使用方法
本文匯總整理了Python標(biāo)準(zhǔn)庫(kù)itertools的使用方法,并提供簡(jiǎn)單應(yīng)用示例;如果還不能滿足你的要求,歡迎加入補(bǔ)充2020-01-01ubuntu系統(tǒng)如何從python3.7升級(jí)到python3.8
這篇文章主要給大家介紹了關(guān)于ubuntu系統(tǒng)如何從python3.7升級(jí)到python3.8的相關(guān)資料,Python是一種廣泛使用的編程語(yǔ)言,而Ubuntu是一個(gè)流行的開(kāi)源操作系統(tǒng),通過(guò)升級(jí)Python您可以獲得新功能、性能改進(jìn)和安全修復(fù),需要的朋友可以參考下2023-11-11Python3實(shí)現(xiàn)定時(shí)任務(wù)的四種方式
Python實(shí)現(xiàn)定點(diǎn)與定時(shí)任務(wù)方式比較多,找到下面四中實(shí)現(xiàn)方式,每個(gè)方式都有自己應(yīng)用場(chǎng)景;下面來(lái)快速介紹Python中常用的定時(shí)任務(wù)實(shí)現(xiàn)方式,一起看看吧2019-06-06