修修心養養性利不可賺盡,福不可享盡,勢不可用盡
大綱
join方法使用程序鎖程序間通信
Process對象中的join方法
join方法表示等待子程序結束後再繼續往下運作,通常用于程序間的同步,等待的總時間是子程序中耗費時間最長的那個程序運作的時間。
join方法示範對比一下兩種不同結果
程序鎖
并發運作時會出現同時操作一個檔案時候,這時候會出現操作檔案内容混亂,需要加入鎖機制,由并發變成了串行。
import timeimport osfrom multiprocessing import Process, Lockdef 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示例結果
如果本篇對您有幫助,請點贊轉發支援一下,謝謝。