Python進(jìn)程,多進(jìn)程,獲取進(jìn)程id,給子進(jìn)程傳遞參數(shù)操作示例
本文實例講述了Python進(jìn)程,多進(jìn)程,獲取進(jìn)程id,給子進(jìn)程傳遞參數(shù)操作。分享給大家供大家參考,具體如下:
線程與線程之間共享全局變量,進(jìn)程之間不能共享全局變量。
進(jìn)程與進(jìn)程相互獨(dú)立 (可以通過socket套接字實現(xiàn)進(jìn)程間通信,可以通過硬盤(文件)實現(xiàn)進(jìn)程通信,也可以通過隊列(Queue)實現(xiàn)進(jìn)程通信)
子進(jìn)程會拷貝復(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() # 多線程的方式實現(xiàn)多任務(wù)
# t2.start()
p1 = multiprocessing.Process(target=test1) # 進(jìn)程 (進(jìn)程比線程占用資源多)
p2 = multiprocessing.Process(target=test2)
p1.start() # 多進(jìn)程的方式實現(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() # 開啟子進(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)容感興趣的讀者可查看本站專題:《Python進(jìn)程與線程操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》、《Python+MySQL數(shù)據(jù)庫程序設(shè)計入門教程》及《Python常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家Python程序設(shè)計有所幫助。
- python啟動辦公軟件進(jìn)程(word、excel、ppt、以及wps的et、wps、wpp)
- Python子進(jìn)程subpocess原理及用法解析
- python多進(jìn)程 主進(jìn)程和子進(jìn)程間共享和不共享全局變量實例
- python TK庫簡單應(yīng)用(實時顯示子進(jìn)程輸出)
- 在Python中os.fork()產(chǎn)生子進(jìn)程的例子
- 對Python subprocess.Popen子進(jìn)程管道阻塞詳解
- python清理子進(jìn)程機(jī)制剖析
- python subprocess 殺掉全部派生的子進(jìn)程方法
- 如何用 Python 子進(jìn)程關(guān)閉 Excel 自動化中的彈窗
相關(guān)文章
Python利用Turtle繪制Technoblade的示例代碼
國外一位在YouTube擁有上千萬粉絲的我的世界游戲主播Technoblade因癌癥與世長辭,為了紀(jì)念他,特地寫了這篇文章,教大家用Turtle繪制出Technoblade,快跟隨小編一起學(xué)習(xí)一下吧2023-01-01
pandas分組聚合(agg,transform,apply)
在SQL中我們經(jīng)常使用 GROUP BY 將某個字段,按不同的取值進(jìn)行分組, 在pandas中也有g(shù)roupby函數(shù),本文主要介紹了pandas分組聚合(agg,transform,apply),具有一定的參考價值,感興趣的可以了解一下2024-04-04
Django框架cookie和session方法及參數(shù)設(shè)置
這篇文章主要為大家介紹了Django框架cookie和session參數(shù)設(shè)置及介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-03-03
python 圖像增強(qiáng)算法實現(xiàn)詳解
這篇文章主要介紹了python 圖像增強(qiáng)算法實現(xiàn)詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01

