1. 程式人生 > >Python 程序通訊,佇列(multiprocessing.Queue()),單向通訊

Python 程序通訊,佇列(multiprocessing.Queue()),單向通訊

import multiprocessing
queue=multiprocessing.Queue() #佇列可以實現多程序全域性變數的共享(程序通訊)
#管道(multiprocessing.Pipe() )可以雙向通訊,佇列只可以單向通訊(一個程序只能發資料,另一個只能收資料)
def func(myq):
    print(id(myq))   #檢視佇列地址
    #myq.put([1,2,3,4,5]) #子程序傳送資料
    print(myq.get())   #子程序獲取資料

if __name__=="__main__":
    print(id(queue)) #檢視地址
    queue.put([1, 2, 3, 4, 5])  #主程序傳送資料
    p=multiprocessing.Process(target=func,args=(queue,))
    p.start()
    p.join()
    #print(queue.get()) #父親程序獲取資料

#佇列,單項通訊,
#父程序插入,子程序讀取
#子程序寫入,父程序讀取