【Python】Python多進程詳解

乌坎村 2024-04-10 15:12 16次浏览 0 条评论 taohigo.com

1. 什麼進程?

進程(Process),顧名思義,就是進行中的程序。有一句話說得好:程序是一個沒有生命的實體,隻有處理器賦予程序生命時,它才能成為一個活動的實體。進程是資源分配的最小單元,也就是說每個進程都有其單獨的內存空間。

關於更多進程和線程的區別,參見【Python】Python多線程詳解。

2. 如何創建一個進程?

Unix/Linux系統通過fork系統調用創建一個進程,但是在Windows中並沒有fork調用。但是別擔心,Python中內置的multiprocessing模塊是跨平臺的,我們可以通過對multiprocess模塊中的Process類進行實例化創建一個進程對象,如:

import os
from multiprocessing import Process

def run_a_sub_proc(name):
print(f'子進程:{name}({os.getpid()})開始...')

if __name__ == '__main__':
print(f'主進程({os.getpid()})開始...')
# 通過對Process類進行實例化創建一個子進程
p = Process(target=run_a_sub_proc, args=('測試進程', ))
p.start()
p.join()