Python進程,多進程,獲取進程id,給子進程傳遞參數操作示例

 更新時間:2019年10月11日 10:54:31   作者:houyanhua1   我要評論
這篇文章主要介紹了Python進程,多進程,獲取進程id,給子進程傳遞參數操作,結合實例形式分析了Python多進程、父子進程以及進程參數傳遞相關操作技巧,需要的朋友可以參考下

本文實例講述了Python進程,多進程,獲取進程id,給子進程傳遞參數操作。分享給大家供大家參考,具體如下:

線程與線程之間共享全局變量,進程之間不能共享全局變量。
進程與進程相互獨立  (可以通過socket套接字實現進程間通信,可以通過硬盤(文件)實現進程通信,也可以通過隊列(Queue)實現進程通信)

子進程會拷貝復制主進程中的所有資源(變量、函數定義等),所以子進程比子線程耗費資源。

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()  # 多線程的方式實現多任務
  # t2.start()
  p1 = multiprocessing.Process(target=test1) # 進程 (進程比線程占用資源多)
  p2 = multiprocessing.Process(target=test2)
  p1.start()  # 多進程的方式實現多任務 (進程比線程占用資源多)
  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(給子進程傳遞參數):

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相關內容感興趣的讀者可查看本站專題:《Python進程與線程操作技巧總結》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》、《Python+MySQL數據庫程序設計入門教程》及《Python常見數據庫操作技巧匯總

希望本文所述對大家Python程序設計有所幫助。

相關文章

  • Flask框架web開發之零基礎入門

    Flask框架web開發之零基礎入門

    這篇文章主要介紹了Flask框架web開發之零基礎入門,簡單的介紹了如何使用及其數據庫集成,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • python備份文件的腳本

    python備份文件的腳本

    作用:將目錄備份到其他路徑。
    2008-08-08
  • Python二叉樹定義與遍歷方法實例分析

    Python二叉樹定義與遍歷方法實例分析

    這篇文章主要介紹了Python二叉樹定義與遍歷方法,結合實例形式分析了二叉樹的概念、原理及Python定義、遍歷二叉樹相關操作技巧,需要的朋友可以參考下
    2018-05-05
  • Django獲取應用下的所有models的例子

    Django獲取應用下的所有models的例子

    今天小編就為大家分享一篇Django獲取應用下的所有models的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • Python 實現簡單的shell sed替換功能(實例講解)

    Python 實現簡單的shell sed替換功能(實例講解)

    下面小編就為大家帶來一篇Python 實現簡單的shell sed替換功能(實例講解)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • python3讀取MySQL-Front的MYSQL密碼

    python3讀取MySQL-Front的MYSQL密碼

    本篇文章主要介紹了python3讀取MySQL-Front的MYSQL密碼的相關知識,具有很好的參考價值。下面跟著小編一起來看下吧
    2017-05-05
  • python matplotlib畫圖庫學習繪制常用的圖

    python matplotlib畫圖庫學習繪制常用的圖

    這篇文章主要為大家詳細介紹了python matplotlib畫圖庫學習繪制常用的圖,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • Python程序運行原理圖文解析

    Python程序運行原理圖文解析

    這篇文章主要介紹了Python程序運行原理圖文解析,分享了相關代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-02-02
  • 20行python代碼的入門級小游戲的詳解

    20行python代碼的入門級小游戲的詳解

    這篇文章主要介紹了python入門級小游戲,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-05-05
  • 使用Python3+PyQT5+Pyserial 實現簡單的串口工具方法

    使用Python3+PyQT5+Pyserial 實現簡單的串口工具方法

    今天小編就為大家分享一篇使用Python3+PyQT5+Pyserial 實現簡單的串口工具方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02

最新評論

pc蛋蛋计划下载