欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python進(jìn)程,多進(jìn)程,獲取進(jìn)程id,給子進(jìn)程傳遞參數(shù)操作示例

 更新時(shí)間:2019年10月11日 10:54:30   作者:houyanhua1  
這篇文章主要介紹了Python進(jìn)程,多進(jìn)程,獲取進(jìn)程id,給子進(jìn)程傳遞參數(shù)操作,結(jié)合實(shí)例形式分析了Python多進(jìn)程、父子進(jìn)程以及進(jìn)程參數(shù)傳遞相關(guān)操作技巧,需要的朋友可以參考下

本文實(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ì)有所幫助。

相關(guān)文章

最新評(píng)論