新聞中心
這里有您想知道的互聯網營銷解決方案
Python中多進程—Join方法使用、進程鎖及進程間通信
大綱

- join方法使用
- 進程鎖
- 進程間通信
Process對象中的join方法
join方法表示等待子進程結束后再繼續(xù)往下運行,通常用于進程間的同步,等待的總時間是子進程中耗費時間最長的那個進程運行的時間。
join方法演示
對比一下兩種不同結果
進程鎖
并發(fā)運行時會出現同時操作一個文件時候,這時候會出現操作文件內容混亂,需要加入鎖機制,由并發(fā)變成了串行。
- 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()
加入鎖機制變成串行時運行結果
進程間通信
在父進程中創(chuàng)建兩個子進程,一個往Queue里寫數據,一個從Queue里讀數據
Queue示例
網站題目:Python中多進程—Join方法使用、進程鎖及進程間通信
網站鏈接:http://m.5511xx.com/article/dhodjsd.html


咨詢
建站咨詢
