Python兩個程序溝通問題

2021-08-17 22:03:53 字數 971 閱讀 8260

#在父程序中建立兩個子程序,乙個往queue寫資料,乙個從queue讀資料,

## 用同乙個訊息佇列

frommultiprocessingimportqueue,process

importtime,random

defwrite(q):

forvaluein['a'

,'b'

,'c'

,'d']:

print('write:put %s to queue'%value)

q.put(value)

time.sleep(random.random())

defread(q):

while true:#若沒有無限迴圈,在write過程中queue可能輪空,就沒法執行到get方法

if notq.empty():

value=q.get()

print('read: get %s from queue..'%value)

time.sleep(random.random())

if__name__=='__main__':

q=queue()#預設佇列無限大

pw=process(target=write,

args=(q

,)) pr=process(target=read,

args=(q

,)) pw.start()

pr.start()

read: get d from queue..

#這裡不會finish,只要訊息佇列中不空,就會一直get

基於python多程序的兩個練習

練習1 求100000以內質數之和 分別使用4個程序和10個程序做這件事,並且分別 統計執行時間,進行對比 import time from multiprocessing import process def timeis f args,kwargs start time time.time re...

兩個小問題

最近實驗室的工作上碰到的兩個小問題,記錄一下。1.yuv顏色空間的gmm 之前用過很多次的在rgb上的混合高斯模型,最近需要對乙個yuv序列使用gmm方法建背景。因為有現成的 所以第乙個出現在腦海中的想法就是用公式把yuv轉成rgb之後,完了再轉回yuv。後來再回頭一想,完全不必要如此,因為gmm完...

解決兩個問題

早上一開啟虛擬機器登入ubuntu,就遇到兩個問題,2 登入進去後,ubuntu的工作列不見了。解決方案 1 對於第乙個問題,使用如下命令 sudo chmod 755 r home 使用者名稱 chmod 644 home 使用者名稱 dmrc 2 對於第二個問題,1,安裝gnome panel ...