multuprocessing模組建立程序

2021-09-25 05:26:48 字數 1324 閱讀 4996

1.需要將要執行的事情封裝為函式

2.使用multiprocessing模組中process類建立程序物件

3.通過物件屬性設定和process的初始化函式對程序進行設定,

繫結要執行的函式

4.啟動程序,會自動執行程序繫結的函式

5.完成程序的**

1.process()

功能: 建立程序物件

引數: name 程序名稱 預設名稱:process-1

target 繫結函式

args 元組 給target函式按照位置傳參

kwargs 字典 給target函式按鍵值對傳參

2.p.start()

功能: 啟動程序

* target函式會自動執行,此時進**正被建立

3.p.join([timeout])

功能: 阻塞等待**子程序

引數: 超時時間

#join沒有**到子程序則會產生殭屍程序

#若設定了timeout,但在時間內沒有**,便產生殭屍

* 使用multiprocessing建立子程序,同樣子程序複製父程序的

全部**段,父子程序各自執行互不影響,父子程序有各自的執行

空間。* 如果不適用join**子程序則子程序退出後會成為殭屍程序

from multiprocessing import process

from time import sleep

import os

def th1():

sleep(3)

print('吃飯')

print(os.getppid(),'-----',os.getpid())

def th2():

sleep(2)

print('睡覺')

print(os.getppid(),'-----',os.getpid())

def th3():

sleep(4)

print('打dota')

print(os.getppid(),'-----',os.getpid())

things = [th1,th2,th3]

process =

for th in [th1,th2,th3]:

p = process(target = th)

p.start()

#p.join()若在這裡**將會順序執行,不能實現多程序

#迴圈**程序

for i in process:

i.join()

Python subprocess 建立子程序

python提供多個建立子程序的模組,我比較習慣使用subprocess模組,因為在python手冊中有這樣一段話 this module intends to replace several other,older modules and functions,such as os.system o...

Python subprocess 建立子程序

python提供多個建立子程序的模組,我比較習慣使用subprocess模組,因為在python手冊中有這樣一段話 this module intends to replace several other,older modules and functions,such as os.system o...

Maven使用assembly對多模組進行打包

新建專案assemblypackage然後將裡面的src都刪掉,我們不在最外面寫 新建4個moudle,分別是 users lcc ideaprojects assemblypackage hivemoudle users lcc ideaprojects assemblypackage roman...