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...