Python中多進程—Join方法使用、進程鎖及進程間通信
作者:金生水起程序猿
本篇給大家介紹Python中多進程,Join方法使用、進程鎖及進程間通信。
大綱
- join方法使用
- 進程鎖
- 進程間通信
Process對象中的join方法
join方法表示等待子進程結束后再繼續往下運行,通常用于進程間的同步,等待的總時間是子進程中耗費時間最長的那個進程運行的時間。
join方法演示

對比一下兩種不同結果
進程鎖
并發運行時會出現同時操作一個文件時候,這時候會出現操作文件內容混亂,需要加入鎖機制,由并發變成了串行。
- import time
- import os
- from multiprocessing import Process, Lock
- def work(lock):
- # 獲取鎖
- lock.acquire()
- print('{0} is 開始工作'.format(os.getpid()))
- time.sleep(2)
- print('{0} is 結束工作'.format(os.getpid()))
- # 釋放鎖
- lock.release()
- lock = Lock()
- for i in range(3):
- p = Process(target=work,args=(lock,))
- p.start()
加入鎖機制變成串行時運行結果
進程間通信
在父進程中創建兩個子進程,一個往Queue里寫數據,一個從Queue里讀數據

Queue示例
責任編輯:姜華
來源:
今日頭條