Python進程,多進程,獲取進程id,給子進程傳遞參數(shù)操作示例
本文實例講述了Python進程,多進程,獲取進程id,給子進程傳遞參數(shù)操作。分享給大家供大家參考,具體如下:
線程與線程之間共享全局變量,進程之間不能共享全局變量。
進程與進程相互獨立 (可以通過socket套接字實現(xiàn)進程間通信,可以通過硬盤(文件)實現(xiàn)進程通信,也可以通過隊列(Queue)實現(xiàn)進程通信)
子進程會拷貝復制主進程中的所有資源(變量、函數(shù)定義等),所以子進程比子線程耗費資源。
demo.py(多進程):
import threading # 線程
import time
import multiprocessing # 進程
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)多任務
# t2.start()
p1 = multiprocessing.Process(target=test1) # 進程 (進程比線程占用資源多)
p2 = multiprocessing.Process(target=test2)
p1.start() # 多進程的方式實現(xiàn)多任務 (進程比線程占用資源多)
p2.start()
if __name__ == "__main__":
main()
demo.py(獲取進程、父進程id):
import multiprocessing
import os
import time
def test():
while True:
print("----in 子進程 pid=%d ,父進程的pid=%d---" % (os.getpid(), os.getppid()))
time.sleep(1)
def main():
# os.getpid() 獲取當前進程的進程id
# os.getppid() 獲取當前進程的父進程id
print("----in 主進程 pid=%d---父進程pid=%d----" % (os.getpid(), os.getppid()))
p = multiprocessing.Process(target=test)
p.start() # 開啟子進程
if __name__ == "__main__":
main()
demo.py(給子進程傳遞參數(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()

更多關于Python相關內(nèi)容感興趣的讀者可查看本站專題:《Python進程與線程操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進階經(jīng)典教程》、《Python+MySQL數(shù)據(jù)庫程序設計入門教程》及《Python常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家Python程序設計有所幫助。
相關文章
Python利用Turtle繪制Technoblade的示例代碼
國外一位在YouTube擁有上千萬粉絲的我的世界游戲主播Technoblade因癌癥與世長辭,為了紀念他,特地寫了這篇文章,教大家用Turtle繪制出Technoblade,快跟隨小編一起學習一下吧2023-01-01
pandas分組聚合(agg,transform,apply)
在SQL中我們經(jīng)常使用 GROUP BY 將某個字段,按不同的取值進行分組, 在pandas中也有groupby函數(shù),本文主要介紹了pandas分組聚合(agg,transform,apply),具有一定的參考價值,感興趣的可以了解一下2024-04-04
Django框架cookie和session方法及參數(shù)設置
這篇文章主要為大家介紹了Django框架cookie和session參數(shù)設置及介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-03-03

