python 多程序間通訊 訊息佇列
阿新 • • 發佈:2019-01-03
import multiprocessing import time #使用佇列,將訊息寫進佇列,需要的程序到佇列取 #佇列由父程序建立,子程序共享佇列 def write(qe): print("啟動子程序 write") for chr in ['A','B','C','D','E']: qe.put(chr) time.sleep(1) print("結束子程序 write") def read(qe): print("啟動子程序 read") while 1: value = qe.get(True) print("讀取:"+value) print("結束子程序 read") if __name__ == '__main__': #父程序建立佇列 qe = multiprocessing.Queue() pw = multiprocessing.Process(target=write,args=[qe]) #這裡必須用[qe],不能用(qe) pr = multiprocessing.Process(target=read,args=[qe]) pw.start() pr.start() pw.join() pr.terminate() #強制結束 print("父程序結束")