Python 創建多進程執行多任務
一、進程的創建步驟
- 導入進程包
- 通過進程類創建進程對象
- 進程對象 = multiprocessing.Process(target=任務名)
參數名 |
說明 |
target |
執行的目標任務名,這里指的是函數名或方法名 |
name |
進程名,一般不設置 |
group |
進程組,目前只能使用None |
- 啟動進程執行任務
二、進程創建與啟動的代碼
# 導入進程包
import multiprocessing
# 創建任務函數
def func1(a):
print(a)
def func2(b):
print(b)
# 創建子進程1
process_1 = multiprocessing.Process(target=func1, args=(a, ))
# 創建子進程2
process_2 = multiprocessing.Process(target=func2, args=(b, ))
# 啟動進程
process_1.start()
process_2.start()
# 等待進程結束
process_1.join()
process_2.join()
三、進程執行帶有參數的任務
參數名 |
說明 |
args |
以元組的方式給執行任務傳參 |
kwargs |
以字典的方式給執行任務傳參 |
# target: 進程執行的函數名
# args: 表示以元組的方式給函數傳參
process_1 = multiprocessing.Process(target=func1, args=(a, ) # a 表示傳入的參數
process_1.start()
# target: 線程執行函數名
# kwargs:表示以字典的方式給函數傳參
process_1 = multiprocessing.Process(target=function, kwargs=("name":"xiaoming"))
process_1.start()